{"id":22305,"date":"2025-03-18T18:31:39","date_gmt":"2025-03-18T13:01:39","guid":{"rendered":"https:\/\/opstree.com\/blog\/?p=22305"},"modified":"2025-07-15T21:40:50","modified_gmt":"2025-07-15T16:10:50","slug":"eks-cluster-autoscaler","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2025\/03\/18\/eks-cluster-autoscaler\/","title":{"rendered":"EKS Cluster AutoScaler"},"content":{"rendered":"<p><span id=\"p3R_mc2\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">The Amazon EKS AutoScaler automatically adjusts the number of worker nodes in an <\/span><\/span><\/span><span id=\"p3R_mc2\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Amazon EKS cluster based on resource utilization and scaling demands.<\/span><\/span><\/span><\/p>\n<p><span id=\"p3R_mc2\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Before we started using EKS Cluster Autoscaler<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">, managing node scaling in our Kubernetes <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">cluster was a constant struggle. Here\u2019s what we were dealing with:<\/span><\/span><\/span><span id=\"p3R_mc3\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\"><br \/>\nHigh Costs: We had to keep extra EC2 nodes running all the time to avoid pod scheduling <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">issues<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u2014<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">even when they weren\u2019t being used.<\/span><\/span><\/span><span id=\"p3R_mc4\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\"><br \/>\nPod Failures: If we tried to reduce node count to save money, pods would often stay Pending<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u00a0due to lack of resources.<\/span><\/span><\/span><span id=\"p3R_mc5\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\"><br \/>\nManual Work: Scaling nodes up or down was a manual task<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u2014<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">time<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">consuming and error<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">prone.<\/span><\/span><\/span><span id=\"p3R_mc6\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\"><br \/>\nSlow Deployments: During deployments or traffic spikes, our workloads would get stuck <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">because there weren\u2019t enough resources.<\/span><\/span><\/span><span id=\"p3R_mc7\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\"><br \/>\nUnpredictable Demand: Our workloads change frequently, but our cluster capacity doesn\u2019t<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u2014<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">leading to overuse or underuse of nodes.<\/span><\/span><\/span><span id=\"p3R_mc8\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\"><br \/>\nThese challenges pushed us to explore Cluster Autoscaler, and it turned out to be a game<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">changer<\/span><\/span><\/span><\/p>\n<p><!--more--><\/p>\n<h2><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Overview<\/span><\/span><\/h2>\n<p><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Setting up the Cluster Autoscaler on Amazon EKS using Helm can be tricky. Most guides <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">cover the basic steps, but there\u2019s an important tip that\u2019s often overlooked. In this post, <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">we\u2019ll share this helpful trick and walk you through the entire process step by<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">step.<\/span><\/span><\/p>\n<h3>Prerequisites<\/h3>\n<div class=\"react-pdf__Page css-127\" data-page-number=\"1\">\n<p><span id=\"p3R_mc10\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Before we dive into the deployment process, ensure you have the following:<\/span><\/span><\/span><\/p>\n<ol>\n<li><span id=\"p3R_mc10\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">An active Amazon EKS cluster<\/span><\/span><\/span><\/li>\n<li><span id=\"p3R_mc10\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Helm installed on your local machine<\/span><\/span><\/span><span id=\"p3R_mc12\" class=\"markedContent\"><br role=\"presentation\" \/><\/span><\/li>\n<li><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">AWS CLI<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">configured with appropriate permissions<\/span><\/span><\/li>\n<li><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Kubectl<\/span><\/span> is\u00a0<span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">installed and configured to interact with your EKS cluster.<\/span><\/span><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22313\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-02-50.png\" alt=\"\" width=\"800\" height=\"425\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-02-50.png 772w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-02-50-300x159.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-02-50-768x408.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<\/div>\n<h3>Procedure<\/h3>\n<h4>1. <strong>Add the Cluster Autoscaler Helm repository<\/strong><\/h4>\n<ul>\n<li><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">First, add the official Cluster Autoscaler<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Helm repository:<\/span><\/span><\/li>\n<\/ul>\n<div class=\"react-pdf__Page css-127\" data-page-number=\"2\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><strong><span id=\"p20R_mc7\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">helm repo<\/span> <span dir=\"ltr\" role=\"presentation\">add<\/span> <span dir=\"ltr\" role=\"presentation\">autoscaler <\/span><\/span><em><span id=\"p20R_mc8\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">https:\/\/kubernetes.github.io\/autoscaler<\/span><\/span><span id=\"p20R_mc9\" class=\"markedContent\"><br role=\"presentation\" \/><\/span><\/em><span id=\"p20R_mc9\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">helm repo update<\/span><\/span><\/strong><span id=\"p20R_mc16\" class=\"markedContent\"><br role=\"presentation\" \/><\/span><\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-22314\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-03-43.png\" alt=\"\" width=\"791\" height=\"282\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-03-43.png 791w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-03-43-300x107.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-03-43-768x274.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<h4>2. <strong>Create IAM policy for Cluster Autoscaler:<\/strong><\/h4>\n<p><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">The Cluster Autoscaler needs specific permissions to interact with AWS services. Create <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">an IAM policy with the required permissions:<\/span><\/span><\/p>\n<div class=\"react-pdf__Page css-127\" data-page-number=\"3\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><strong><span id=\"p30R_mc3\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">aws iam<\/span> <span dir=\"ltr\" role=\"presentation\">create<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">policy<\/span> <span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">policy<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name<\/span> <span dir=\"ltr\" role=\"presentation\">AmazonEKSClusterAutoscalerPolicy<\/span> <span dir=\"ltr\" role=\"presentation\">&#8211; <\/span><span dir=\"ltr\" role=\"presentation\">policy<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">document <\/span><\/span><em><span id=\"p30R_mc4\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">file:\/\/cluster<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">autoscaler<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">policy.json<\/span><\/span><\/em><\/strong><\/div>\n<\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"3\">\n<div data-main-rotation=\"0\"><\/div>\n<div class=\"react-pdf__Page__annotations annotationLayer\" data-main-rotation=\"0\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">{<br \/>\n&#8220;Version&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">:<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;2012<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">10<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">17&#8243;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">,<\/span><\/span><\/div>\n<\/div>\n<div class=\"react-pdf__Page css-127\" data-page-number=\"4\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p41R_mc3\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;Statement&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">:<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">[<\/span><\/span><\/span><span id=\"p41R_mc4\" class=\"markedContent\"><\/span><span id=\"p41R_mc5\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">{<\/span><\/span><\/span><span id=\"p41R_mc6\" class=\"markedContent\"><\/span><span id=\"p41R_mc7\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;Action&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">:<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">[<\/span><\/span><\/span><span id=\"p41R_mc8\" class=\"markedContent\"><\/span><span id=\"p41R_mc9\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;autoscaling:DescribeAutoScalingGroups&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">,<\/span><\/span><\/span><span id=\"p41R_mc10\" class=\"markedContent\"><\/span><span id=\"p41R_mc11\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;autoscaling:DescribeAutoScalingInstances&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">,<\/span><\/span><\/span><span id=\"p41R_mc12\" class=\"markedContent\"><\/span><span id=\"p41R_mc13\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;autoscaling:DescribeLaunchConfigurations&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">,<\/span><\/span><\/span><span id=\"p41R_mc14\" class=\"markedContent\"><\/span><span id=\"p41R_mc15\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;autoscaling:DescribeTags&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">,<\/span><\/span><\/span><span id=\"p41R_mc16\" class=\"markedContent\"><\/span><span id=\"p41R_mc17\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;autoscaling:SetDesiredCapacity&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">,<\/span><\/span><\/span><span id=\"p41R_mc18\" class=\"markedContent\"><\/span><span id=\"p41R_mc19\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;autoscaling:TerminateInstanceInAutoScalingGroup&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">,<\/span><\/span><\/span><span id=\"p41R_mc20\" class=\"markedContent\"><\/span><span id=\"p41R_mc21\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;ec2:DescribeLaunchTemplateVersions&#8221;<\/span><\/span><\/span><span id=\"p41R_mc22\" class=\"markedContent\"><\/span><span id=\"p41R_mc23\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">],<\/span><\/span><\/span><span id=\"p41R_mc24\" class=\"markedContent\"><\/span><span id=\"p41R_mc25\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;Resource&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">:<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;*&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">,<\/span><\/span><\/span><span id=\"p41R_mc26\" class=\"markedContent\"><\/span><span id=\"p41R_mc27\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;Effect&#8221;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">:<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8220;Allow&#8221;<\/span><\/span><\/span><\/div>\n<div data-main-rotation=\"0\">}<\/div>\n<div data-main-rotation=\"0\">]<\/div>\n<div data-main-rotation=\"0\">}<\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<h4 data-main-rotation=\"0\">3. <strong><span dir=\"ltr\" role=\"presentation\">Create<\/span> <span dir=\"ltr\" role=\"presentation\">IAM<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">OIDC Provider:<\/span><\/strong><\/h4>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">First, check if an OIDC provider is already associated:<\/span><\/span><br role=\"presentation\" \/><em><strong><span dir=\"ltr\" role=\"presentation\">aws eks<\/span> <span dir=\"ltr\" role=\"presentation\">describe<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">cluster<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">name<\/span> <span dir=\"ltr\" role=\"presentation\">&lt;your<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">cluster<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name&gt;<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">query<\/span><\/strong><\/em><br role=\"presentation\" \/><em><strong><span dir=\"ltr\" role=\"presentation\">&#8220;cluster.identity.oidc.issuer&#8221;<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">output<\/span> <span dir=\"ltr\" role=\"presentation\">text<\/span><\/strong><\/em><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">If this<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">command returns an<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">OIDC<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">URL,<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">you\u2019re good<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u2014<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">you already<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">have an<\/span><\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">OIDC provider.<\/span><\/span><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">If it&#8217;s<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">empty or<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">errors, then you need to create it.<\/span><\/span><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"4\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><strong><span id=\"p41R_mc36\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">eksctl<\/span> <span dir=\"ltr\" role=\"presentation\">utils<\/span> <span dir=\"ltr\" role=\"presentation\">associate<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">iam<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">oidc<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">provider<\/span> <span dir=\"ltr\" role=\"presentation\">\/<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">region=ap<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">south<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">1 \/<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">cluster=testing<\/span> <span dir=\"ltr\" role=\"presentation\">\/<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">approve<\/span><\/span><\/strong><\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"4\">\n<div data-main-rotation=\"0\"><\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-22315\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-04-34-1024x160.png\" alt=\"\" width=\"840\" height=\"131\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-04-34-1024x160.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-04-34-300x47.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-04-34-768x120.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-04-34.png 1049w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<h4 data-main-rotation=\"0\">4. <strong>Create IAM role for Cluster Autoscaler<\/strong><\/h4>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">This step allows Cluster Autoscaler to access EC2 and Auto Scaling resources securely. <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">We create an IAM role and link it to a Kubernetes service account using IRSA.<\/span><\/span><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><span id=\"p49R_mc1\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Next<\/span><\/span><\/span><span id=\"p49R_mc2\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">, create an IAM role and attach the policy:<\/span><\/span><\/span><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"5\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><strong><span id=\"p49R_mc3\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">eksctl<\/span> <span dir=\"ltr\" role=\"presentation\">create iamserviceaccount<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">cluster=&lt;your<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">cluster<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name&gt;<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">namespace=kube<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">system<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><span dir=\"ltr\" role=\"presentation\">cluster<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">name=cluster<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">autoscaler<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">attach<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">policy<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">arn=arn:aws:iam::&lt;your<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">account<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">id&gt;:policy\/AmazonEKSClusterAutoscalerPolicy<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">override<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">existing<\/span> <span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">serviceaccounts<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">approve<\/span><\/span><\/strong><\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p49R_mc3\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">This command <\/span><\/span><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">does<strong> three<\/strong><\/span><strong><span dir=\"ltr\" role=\"presentation\">\u00a0things<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/strong><\/span><\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p49R_mc4\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u2022<\/span><\/span><\/span><span id=\"p49R_mc5\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Creates\u00a0<\/span><\/span><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">a<strong> Kubernetes<\/strong><\/span><strong><span dir=\"ltr\" role=\"presentation\">\u00a0service\u00a0<\/span><\/strong><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><strong>account\u00a0<\/strong>named<\/span>\u00a0cluster<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">autoscaler in the kube<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">system namespace<\/span><\/span><\/span><span id=\"p49R_mc6\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u2022<\/span><\/span><\/span><span id=\"p49R_mc7\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Creates\u00a0<\/span><\/span><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">an<strong> IAM <\/strong><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><strong>role\u00a0<\/strong>and<\/span>\u00a0attaches\u00a0<\/span><\/span><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">the<strong> Cluster<\/strong><\/span><strong><span dir=\"ltr\" role=\"presentation\">\u00a0Autoscaler policy<\/span><\/strong><\/span><span id=\"p49R_mc8\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u2022<\/span><\/span><\/span><span id=\"p49R_mc9\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Links the IAM role to the service account\u00a0<\/span><\/span><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">using<\/span><strong><span dir=\"ltr\" role=\"presentation\"> OIDC identity provider<\/span><\/strong><\/span><\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-22316\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-09-1024x277.png\" alt=\"\" width=\"840\" height=\"227\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-09-1024x277.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-09-300x81.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-09-768x208.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-09-1200x324.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-09.png 1443w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"5\">\n<h4 data-main-rotation=\"0\"><\/h4>\n<h4 class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p49R_mc10\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">5. Deploy Cluster Autoscaler using Helm<\/span><\/strong><\/span><\/h4>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span class=\"markedContent\"><span class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Now, here\u2019s the trick that often goes unmentioned: When deploying the Cluster <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Autoscaler using Helm, you need to set the `awsRegion` value explicitly. Th<\/span><\/span><\/span><\/span>is ensures that the autoscaler works correctly with your specific AWS region:<\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"6\">\n<div data-main-rotation=\"0\"><\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><strong><span id=\"p66R_mc0\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">helm install<\/span> <span dir=\"ltr\" role=\"presentation\">cluster<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">autoscaler<\/span> <span dir=\"ltr\" role=\"presentation\">autoscaler\/cluster<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">autoscaler<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><\/span><span id=\"p66R_mc2\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">namespace<\/span> <span dir=\"ltr\" role=\"presentation\">kube<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">system<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><\/span><span id=\"p66R_mc4\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">set autoDiscovery.clusterName=testing<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><\/span><span id=\"p66R_mc6\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">set<\/span> <span dir=\"ltr\" role=\"presentation\">awsRegion=ap<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">south<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">1<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><\/span><span id=\"p66R_mc8\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">set rbac.serviceAccount.create=false<\/span> <span dir=\"ltr\" role=\"presentation\">\\<\/span><\/span><span id=\"p66R_mc10\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">set rbac.serviceAccount.name=cluster<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">autoscaler<\/span><\/span><\/strong><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"5\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"6\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p66R_mc12\" class=\"markedContent\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-22317\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-40-1024x267.png\" alt=\"\" width=\"840\" height=\"219\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-40-1024x267.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-40-300x78.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-40-768x201.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-40-1536x401.png 1536w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-40-1200x313.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-05-40.png 1589w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/span><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<h4 class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p66R_mc12\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">6. Verify the deployment:<\/span><\/strong><\/span><\/h4>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p66R_mc12\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Check if the Cluster Autoscaler pod is running:<\/span><\/span><\/span><\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p66R_mc14\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">kubectl<\/span> <span dir=\"ltr\" role=\"presentation\">get<\/span> <span dir=\"ltr\" role=\"presentation\">pods<\/span> <span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">n kube<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">system<\/span> <span dir=\"ltr\" role=\"presentation\">|<\/span> <span dir=\"ltr\" role=\"presentation\">grep<\/span> <span dir=\"ltr\" role=\"presentation\">cluster<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">autoscaler<\/span><\/strong><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-22318\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-26-1024x97.png\" alt=\"\" width=\"840\" height=\"80\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-26-1024x97.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-26-300x28.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-26-768x73.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-26-1536x145.png 1536w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-26-1200x114.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-26.png 1616w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"5\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"6\">\n<div data-main-rotation=\"0\"><\/div>\n<h4 class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p66R_mc15\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">7. After Verifying also check for Asg Policies for Scale Up<\/span> <span dir=\"ltr\" role=\"presentation\">And<\/span> <span dir=\"ltr\" role=\"presentation\">Scale<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">down<\/span><\/strong><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">The nodes using Autoscaler:<\/span><\/strong><\/span><\/h4>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p66R_mc15\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">If they are not there add these two policies for scale<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">up and scale<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">&#8211;<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">down<\/span><\/span><\/span><\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\">\n<p><span id=\"p66R_mc15\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">aws autoscaling put<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">scaling<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">policy<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">policy<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name ScaleOutPolicy<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">auto<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><\/strong><strong><span dir=\"ltr\" role=\"presentation\">scaling<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">group<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name &lt;<\/span><span dir=\"ltr\" role=\"presentation\">your<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">auto<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">scaling<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">group<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name &gt;<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">scaling<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><\/strong><\/span><\/p>\n<div class=\"endOfContent\"><\/div>\n<\/div>\n<\/div>\n<div class=\"react-pdf__Page css-127\" data-page-number=\"7\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><strong><span id=\"p70R_mc1\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">adjustment 1<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">adjustment<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">type ChangeInCapa<\/span><span dir=\"ltr\" role=\"presentation\">city<\/span><\/span><\/strong><\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p70R_mc1\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">aws autoscaling put<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">scaling<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">policy<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">policy<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name ScaleInPolicy<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">auto<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><\/strong><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">scaling<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">group<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name<\/span> <span dir=\"ltr\" role=\"presentation\">&lt;your<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">auto<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">scaling<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">group<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">name &gt;<\/span> <span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><span dir=\"ltr\" role=\"presentation\">scaling<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><\/strong><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">adjustment<\/span><\/strong><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"5\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"7\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p70R_mc1\" class=\"markedContent\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-22319\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-49-1024x225.png\" alt=\"\" width=\"840\" height=\"185\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-49-1024x225.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-49-300x66.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-49-768x169.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-49-1536x338.png 1536w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-49-1200x264.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-06-49.png 1694w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/span><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p70R_mc1\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">We are done with eks Autoscaler we need to verify the Autoscaler<\/span> <span dir=\"ltr\" role=\"presentation\">is<\/span><\/strong><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">working fine or not so we are making an ingress file for the nginx<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><\/strong><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">webserver<\/span> <span dir=\"ltr\" role=\"presentation\">and testing it.<\/span><\/strong><\/span><\/div>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p70R_mc1\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">These are the steps:<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><\/strong><\/span><\/div>\n<h5 class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p70R_mc1\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">1<\/span><span dir=\"ltr\" role=\"presentation\">. Check for active nodes:<\/span><\/strong><\/span><\/h5>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p70R_mc1\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">kubectl<\/span> <span dir=\"ltr\" role=\"presentation\">get<\/span> <span dir=\"ltr\" role=\"presentation\">nodes<\/span><\/strong><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"5\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"7\">\n<div data-main-rotation=\"0\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-22320\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-10-1024x117.png\" alt=\"\" width=\"840\" height=\"96\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-10-1024x117.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-10-300x34.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-10-768x88.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-10-1536x176.png 1536w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-10-1200x137.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-10.png 1697w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/div>\n<h5 class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p70R_mc1\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">2. Create a Test Ingress file for checking Autoscaler:<\/span><\/strong><\/span><\/h5>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p70R_mc3\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">apiVersion<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">apps\/v1<\/span><\/strong><\/span><strong><span id=\"p70R_mc5\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">kind<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">Deployment<\/span><\/span><span id=\"p70R_mc7\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">metadata<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p70R_mc9\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">name<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">webserver<\/span><\/span><span id=\"p70R_mc11\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">spec<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p70R_mc13\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">replicas<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">20<\/span><\/span><span id=\"p70R_mc15\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">selector<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p70R_mc17\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">matchLabels<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p70R_mc19\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">app<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">nginx<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">webserver<\/span><\/span><span id=\"p70R_mc21\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">template<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p70R_mc23\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">metadata<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p70R_mc25\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">labels<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p70R_mc27\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">app<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">nginx<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">webserver<\/span><\/span><span id=\"p70R_mc29\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">spec<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p70R_mc31\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">containers<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><\/strong><\/div>\n<\/div>\n<div class=\"react-pdf__Page css-127\" data-page-number=\"8\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><strong><span id=\"p74R_mc1\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span> <span dir=\"ltr\" role=\"presentation\">name<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">nginx<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">container<\/span><\/span><span id=\"p74R_mc3\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">image<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">nginx:latest<\/span><\/span><span id=\"p74R_mc5\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">resources<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p74R_mc7\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">requests<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span><\/span><span id=\"p74R_mc9\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">memory<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">&#8220;1Gi&#8221;<\/span><\/span><span id=\"p74R_mc11\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\">cpu<\/span><span dir=\"ltr\" role=\"presentation\">:<\/span> <span dir=\"ltr\" role=\"presentation\">1<\/span><\/span><span id=\"p74R_mc13\" class=\"markedContent\"><br role=\"presentation\" \/><\/span><\/strong><span id=\"p74R_mc13\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">&#8212;<\/span><\/span><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<h5 class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p74R_mc14\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">3. Apply this Ingress file and check for the nodes to scale<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><span dir=\"ltr\" role=\"presentation\">in<\/span><\/strong><\/span><\/h5>\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p74R_mc14\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">Nodes became 2 to 10 after deploying ingress<\/span><\/strong><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"5\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"8\">\n<div data-main-rotation=\"0\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-22321\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-35-1024x271.png\" alt=\"\" width=\"840\" height=\"222\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-35-1024x271.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-35-300x79.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-35-768x203.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-35-1536x406.png 1536w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-35-1200x317.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-07-35.png 1692w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<h5 class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p74R_mc14\" class=\"markedContent\"><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">4. Now I Can scale out from 1o to 2 I put a replica number to 2 here<\/span> <span dir=\"ltr\" role=\"presentation\">and after <\/span><\/strong><strong><span dir=\"ltr\" role=\"presentation\">that<\/span> <span dir=\"ltr\" role=\"presentation\">Check for nodes that are scaling down or not<\/span><\/strong><\/span><\/h5>\n<p class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p74R_mc14\" class=\"markedContent\"><strong><span dir=\"ltr\" role=\"presentation\">now apply this and check for the nodes to scale out<\/span><\/strong><\/span><\/p>\n<p class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p74R_mc14\" class=\"markedContent\"><strong><span dir=\"ltr\" role=\"presentation\">as we see 2 nodes are there only because the load is less and it is scale-out<\/span><\/strong><br role=\"presentation\" \/><strong><span dir=\"ltr\" role=\"presentation\">successfully<\/span><\/strong><\/span><span id=\"p74R_mc20\" class=\"markedContent\"><br role=\"presentation\" \/><\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><\/div>\n<div data-main-rotation=\"0\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-22322\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-08-05-1024x114.png\" alt=\"\" width=\"840\" height=\"94\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-08-05-1024x114.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-08-05-300x33.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-08-05-768x86.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-08-05-1536x171.png 1536w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-08-05-1200x134.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-18-17-08-05.png 1694w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/div>\n<div data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"5\">\n<div class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\">\n<div class=\"react-pdf__Page css-127\" data-page-number=\"9\">\n<div data-main-rotation=\"0\"><\/div>\n<h2 class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><strong><span id=\"p83R_mc0\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\">Conclusion:<\/span><span dir=\"ltr\" role=\"presentation\">&#8211;<\/span><\/span><\/strong><\/h2>\n<p class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p83R_mc1\" class=\"markedContent\"><br role=\"presentation\" \/><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">This document guides you<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">through setting up EKS Cluster Autoscaler to automatically <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">scale your worker nodes based on pod requirements. By enabling OIDC, creating the <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">necessary IAM role, and deploying the autoscaler, you ensure your cluster scales <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">efficiently, reduces manual effort<\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">, and optimizes resource utilization. <\/span><\/span><\/span><\/p>\n<p class=\"react-pdf__Page__textContent textLayer\" data-main-rotation=\"0\"><span id=\"p83R_mc3\" class=\"markedContent\"><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">Let the Cluster Autoscaler handle node scaling<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">\u2014<\/span><\/span> <span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">so you can focus on running your <\/span><\/span><span dir=\"ltr\" role=\"presentation\"><span tabindex=\"0\">workloads, not managing infrastructure<\/span><\/span><\/span><\/p>\n<\/div>\n<p><a href=\"https:\/\/opstree.com\/contact-us\/\"><span id=\"p49R_mc13\" class=\"markedContent\">CONTACT US<\/span><\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div data-main-rotation=\"0\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The Amazon EKS AutoScaler automatically adjusts the number of worker nodes in an Amazon EKS cluster based on resource utilization and scaling demands. Before we started using EKS Cluster Autoscaler, managing node scaling in our Kubernetes cluster was a constant struggle. Here\u2019s what we were dealing with: High Costs: We had to keep extra EC2 &hellip; <a href=\"https:\/\/opstree.com\/blog\/2025\/03\/18\/eks-cluster-autoscaler\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;EKS Cluster AutoScaler&#8221;<\/span><\/a><\/p>\n","protected":false},"author":244582695,"featured_media":22323,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[36349927,28070474],"tags":[768739503,768739506,768739504,768739505,392947966,768739507,768739508],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/03\/EKS-Cluster-AutoScaler-.png","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-5NL","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/22305"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/244582695"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=22305"}],"version-history":[{"count":7,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/22305\/revisions"}],"predecessor-version":[{"id":22330,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/22305\/revisions\/22330"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/22323"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=22305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=22305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=22305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}