<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged eks</title>
<link>https://coderlegion.com/tag/eks</link>
<description>Powered by Question2Answer</description>
<item>
<title>EKS Auto Mode: What It Actually Changes (and What It Doesn’t)</title>
<link>https://coderlegion.com/23253/eks-auto-mode-what-it-actually-changes-and-what-it-doesnt</link>
<description>
&lt;a href=&quot;https://alexandre-vazquez.com/eks-auto-mode/&quot; title=&quot;EKS Auto Mode: What It Actually Changes (and What It Doesn&amp;rsquo;t)&quot; rel=&quot;nofollow&quot;&gt;&lt;img width=&quot;1536&quot; height=&quot;1024&quot; src=&quot;https://mlk5tkvgfeoa.i.optimole.com/cb:s8WW.68/w:1536/h:1024/q:mauto/f:best/https://alexandre-vazquez.com/wp-content/uploads/2026/07/eks.avif&quot; class=&quot;webfeedsFeaturedVisual wp-post-image&quot; alt=&quot;EKS Auto Mode: What It Actually Changes (and What It Doesn't)&quot; style=&quot;display: block; margin: auto; margin-bottom: 5px;max-width: 100%;&quot; title=&quot;EKS Auto Mode: What It Actually Changes (and What It Doesn't) 10&quot;&gt;&lt;/a&gt;
&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;What EKS Auto Mode is&lt;/h2&gt;



&lt;p&gt;EKS Auto Mode, generally available on &lt;a href=&quot;https://aws.amazon.com/blogs/aws/streamline-kubernetes-cluster-management-with-new-amazon-eks-auto-mode/&quot; target=&quot;_blank&quot; rel=&quot;noopener nofollow&quot;&gt;December 1, 2024&lt;/a&gt;, shifts more Kubernetes infrastructure responsibility from you to AWS. You still run an EKS cluster in your AWS account, and your workloads still use the Kubernetes API, but AWS takes over much of the compute, storage, networking, node lifecycle, and core add-on management that platform teams usually wire together themselves.&lt;/p&gt;



&lt;p&gt;For compute, Auto Mode uses &lt;a rel=&quot;nofollow&quot; href=&quot;https://alexandre-vazquez.com/cluster-autoscaler-vs-karpenter/&quot;&gt;Karpenter-style provisioning&lt;/a&gt; under the hood. When pods are unschedulable, Auto Mode provisions nodes that fit the workload&amp;rsquo;s requirements: instance family, size, architecture, capacity type, and availability zone. When capacity is no longer useful, it can consolidate and terminate nodes.&lt;/p&gt;



&lt;p&gt;The important framing is this: Auto Mode is not &amp;ldquo;EKS without nodes.&amp;rdquo; It is EKS where AWS manages the node lifecycle more aggressively. You own the workloads, their scheduling requirements, their disruption behavior, and the operational consequences of those choices. AWS owns more of the infrastructure plumbing.&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;What it replaces&lt;/h2&gt;



&lt;p&gt;Before Auto Mode, running EKS in production usually meant choosing and operating several layers yourself:&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Managed node groups:&lt;/strong&gt; You chose instance types, defined scaling ranges, managed AMI updates, handled node draining, and configured Cluster Autoscaler or another scaling mechanism.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Self-managed Karpenter:&lt;/strong&gt; More flexible than managed node groups, but you owned the Karpenter controller, IAM, NodePools, EC2NodeClasses, disruption settings, upgrades, and failure modes.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Fargate:&lt;/strong&gt; AWS-managed compute per pod, with no node management, but no DaemonSets, a narrower workload compatibility envelope, and a different cost model.&lt;/p&gt;



&lt;p&gt;EKS Auto Mode replaces a large part of that platform assembly with a managed model: declare workload intent and high-level compute constraints; AWS provisions and manages the EC2 instances behind it.&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;How it works in practice&lt;/h2&gt;



&lt;p&gt;You create or update an EKS cluster with Auto Mode enabled. The default setup can use AWS-managed built-in node pools. If you need more control, you create a &lt;code&gt;NodeClass&lt;/code&gt; for Auto Mode infrastructure settings and a Karpenter &lt;code&gt;NodePool&lt;/code&gt; for workload-facing scheduling constraints.&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;# NodeClass: EKS Auto Mode infrastructure settings for managed EC2 nodes.
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
  name: private-compute
spec:
  subnetSelectorTerms:
    - tags:
        kubernetes.io/role/internal-elb: &quot;1&quot;
  securityGroupSelectorTerms:
    - tags:
        aws:eks:cluster-name: prod-eks
  ephemeralStorage:
    size: &quot;100Gi&quot;&lt;/code&gt;&lt;/pre&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;# NodePool: workload-facing constraints for nodes that Auto Mode may provision.
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: general-purpose
spec:
  template:
    spec:
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: private-compute
      requirements:
        - key: karpenter.sh/capacity-type
          operator: In
          values: [&quot;on-demand&quot;, &quot;spot&quot;]
        - key: kubernetes.io/arch
          operator: In
          values: [&quot;amd64&quot;, &quot;arm64&quot;]
        - key: eks.amazonaws.com/instance-category
          operator: In
          values: [&quot;c&quot;, &quot;m&quot;, &quot;r&quot;]
  limits:
    cpu: &quot;1000&quot;
    memory: 1000Gi
  disruption:
    consolidationPolicy: WhenEmptyOrUnderutilized
    consolidateAfter: 1m&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Those API groups are the Auto Mode-specific split documented by AWS: &lt;code&gt;apiVersion: eks.amazonaws.com/v1&lt;/code&gt;, &lt;code&gt;kind: NodeClass&lt;/code&gt; for Auto Mode node infrastructure, and &lt;code&gt;apiVersion: karpenter.sh/v1&lt;/code&gt;, &lt;code&gt;kind: NodePool&lt;/code&gt; for scheduling and capacity constraints.&lt;/p&gt;



&lt;p&gt;The &lt;code&gt;NodeClass&lt;/code&gt; is where you express AWS infrastructure placement and node-level defaults. The &lt;code&gt;NodePool&lt;/code&gt; is where you express what kind of capacity is acceptable for workloads. Do not copy a self-managed Karpenter &lt;code&gt;EC2NodeClass&lt;/code&gt; into Auto Mode; Auto Mode uses its own &lt;code&gt;NodeClass&lt;/code&gt; API.&lt;/p&gt;



&lt;p&gt;Auto Mode provisions nodes when pods are pending, consolidates when nodes are underutilized, and replaces nodes during maintenance or scale-down. AMI and node lifecycle updates are handled by AWS. AWS says Auto Mode AMIs are generally released weekly with CVE and security fixes, and Auto Mode nodes have a maximum lifetime of 21 days, which you can reduce. Your application still has to tolerate the disruption: a bad &lt;code&gt;PodDisruptionBudget&lt;/code&gt;, strict affinity rule, or singleton stateful workload can still block or degrade a replacement.&lt;/p&gt;



&lt;p&gt;Built-in components are managed differently than in a classic EKS build. AWS lists pod networking, service networking, cluster DNS, autoscaling, block storage, load balancer controller, Pod Identity agent, and node monitoring agent as Auto Mode capabilities. With Auto Mode compute, common add-ons such as Amazon VPC CNI, kube-proxy, CoreDNS, Amazon EBS CSI Driver, and EKS Pod Identity Agent become redundant for Auto Mode nodes, and the relevant controllers can run on AWS-owned infrastructure rather than as visible pods in your account. You can still install AWS Load Balancer Controller in an Auto Mode cluster when you need both models during migration, but AWS does not support directly migrating existing load balancers from AWS Load Balancer Controller to Auto Mode; use &lt;code&gt;IngressClass&lt;/code&gt; or &lt;code&gt;loadBalancerClass&lt;/code&gt; boundaries and plan blue-green migration. Treat this as a change in ownership, not as a reason to skip validation.&lt;/p&gt;



&lt;p&gt;The workload support matrix is broader than Fargate, but not identical to self-managed nodes:&lt;/p&gt;



&lt;figure class=&quot;wp-block-table&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Capability&lt;/th&gt;&lt;th&gt;Auto Mode status&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;EC2 Spot&lt;/td&gt;&lt;td&gt;Supported through &lt;code&gt;karpenter.sh/capacity-type&lt;/code&gt; requirements such as &lt;code&gt;spot&lt;/code&gt;, &lt;code&gt;on-demand&lt;/code&gt;, and &lt;code&gt;reserved&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Graviton / arm64&lt;/td&gt;&lt;td&gt;Supported through &lt;code&gt;kubernetes.io/arch: arm64&lt;/code&gt; and supported Graviton instance families&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GPU / accelerators&lt;/td&gt;&lt;td&gt;Supported for documented accelerated families; Auto Mode manages NVIDIA, Trainium, and Inferentia drivers/device plugins for supported instance types&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windows nodes&lt;/td&gt;&lt;td&gt;Not supported&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DaemonSets&lt;/td&gt;&lt;td&gt;Supported as Kubernetes DaemonSets, but host-level assumptions must be validated against locked-down managed nodes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;What you gain&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Reduced operational surface.&lt;/strong&gt; Node group management, AMI lifecycle, Cluster Autoscaler tuning, Karpenter controller upgrades, and a chunk of add-on wiring move out of your day-to-day scope.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Better provisioning shape by default.&lt;/strong&gt; Dynamic provisioning is usually a better fit than fixed node group shapes. You get nodes that more closely match actual pod requirements instead of trying to pre-plan a small set of instance types.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Automatic node patching.&lt;/strong&gt; AWS manages the node image and replacement flow. That reduces toil, but it also means your workloads need disruption policies that let AWS replace nodes safely.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Faster cluster bootstrapping.&lt;/strong&gt; A new Auto Mode cluster can get to a usable production baseline faster than a hand-assembled EKS cluster with node groups, autoscaling, networking add-ons, storage drivers, and load balancer controllers.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Native Spot integration.&lt;/strong&gt; Auto Mode can use Spot capacity through NodePool requirements, but you still need workload-level interruption tolerance: replicas, budgets, graceful shutdown, and queue semantics where relevant.&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;What you give up&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Node-level access.&lt;/strong&gt; Auto Mode nodes are intentionally locked down compared with traditional self-managed nodes. If your incident response process assumes SSH, SSM, manual package inspection, or ad hoc host changes, it needs to change.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Custom AMIs.&lt;/strong&gt; You cannot treat the node image as your own artifact. AWS determines the operating system and AMI for Auto Mode managed instances; you cannot directly access the instance or install software on it. If your organization requires internally built, hardened, or certified AMIs, Auto Mode is likely blocked.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Unrestricted host agents.&lt;/strong&gt; Kubernetes DaemonSets are supported, but they are the sharp edge. Some node agents work; others do not. Anything that assumes privileged host access, custom kernel modules, hostPath writes, IMDS access without &lt;code&gt;hostNetwork&lt;/code&gt;, or low-level runtime integration needs a proof of compatibility.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Less tuning surface.&lt;/strong&gt; You give up direct control over kubelet flags, container runtime configuration, bootstrap scripts, and arbitrary node setup. That is the point of the product, but it is also the boundary.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Different cost visibility.&lt;/strong&gt; Managed node groups make capacity easier to reason about because you chose it up front. Auto Mode changes capacity dynamically, so cost control moves toward budgets, labels, reports, and &lt;a rel=&quot;nofollow&quot; href=&quot;https://alexandre-vazquez.com/2026-05-kubernetes-resource-requests-limits/&quot;&gt;workload-level resource hygiene&lt;/a&gt;.&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;EKS Auto Mode vs managed node groups vs Fargate&lt;/h2&gt;



&lt;figure class=&quot;wp-block-table&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Auto Mode&lt;/th&gt;&lt;th&gt;Managed Node Groups&lt;/th&gt;&lt;th&gt;Fargate&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Node management&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;AWS manages node lifecycle&lt;/td&gt;&lt;td&gt;Shared: AWS manages the group primitive, you manage capacity shape and many updates&lt;/td&gt;&lt;td&gt;AWS-managed per-pod compute&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;AMI updates&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Automatic through AWS-managed node replacement&lt;/td&gt;&lt;td&gt;You schedule and operate rolling updates&lt;/td&gt;&lt;td&gt;N/A&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Instance selection&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Dynamic through NodePools&lt;/td&gt;&lt;td&gt;You choose instance types and scaling ranges&lt;/td&gt;&lt;td&gt;Not exposed&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Custom AMIs&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;No; AWS determines the AMI&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;DaemonSets&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Supported, but validate host-access assumptions&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;SSH / node access&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Restricted&lt;/td&gt;&lt;td&gt;Usually available if you enable it&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Spot support&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Yes, through capacity-type requirements&lt;/td&gt;&lt;td&gt;Yes, with node group or Karpenter design&lt;/td&gt;&lt;td&gt;No; Amazon EKS does not support Fargate Spot&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Cost model&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;EKS control plane + EC2 + EKS Auto Mode fee&lt;/td&gt;&lt;td&gt;EKS control plane + EC2&lt;/td&gt;&lt;td&gt;EKS control plane + Fargate pod pricing&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Operational burden&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Low for nodes, medium for workload compatibility&lt;/td&gt;&lt;td&gt;Medium&lt;/td&gt;&lt;td&gt;Low for nodes, medium for compatibility&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Right for&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Default candidate for teams that do not need node customization&lt;/td&gt;&lt;td&gt;Regulated/custom node environments and mature platform teams&lt;/td&gt;&lt;td&gt;Workloads that fit Fargate&amp;rsquo;s restrictions and want per-pod isolation&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Hidden constraints / gotchas&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;AWS controls node image and lifecycle; DaemonSets, privileged pods, hostPath, PDBs, topology rules, and node agents can block migration&lt;/td&gt;&lt;td&gt;You still own AMI drift, autoscaler tuning, disruption handling, and capacity fragmentation&lt;/td&gt;&lt;td&gt;No DaemonSets, limited host-level integrations, different networking/storage constraints, and less flexibility for mixed workload shapes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;The Auto Mode pricing&lt;/h2&gt;



&lt;p&gt;Do not model Auto Mode as &amp;ldquo;EC2 plus a generic percentage&amp;rdquo; unless you have pulled the actual rate for your region and instance mix. The official structure is:&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;Total EKS Auto Mode cluster cost =
  EKS control plane cost
  + normal EC2 cost for instances launched and managed by Auto Mode
  + EKS Auto Mode management fee on those managed EC2 instances
  + normal surrounding AWS costs: EBS, load balancers, data transfer, CloudWatch, etc.

EKS Auto Mode management fee =
  sum of Auto Mode-managed instance runtime
  x the regional EKS Auto Mode management rate for each EC2 instance type&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The EKS Auto Mode fee is applied to the EC2 instances that Auto Mode launches and manages. It is billed in addition to the normal EC2 charge and in addition to the EKS control plane charge. AWS bills the Auto Mode fee per second with a one-minute minimum, and the charge is independent of whether the underlying EC2 capacity is On-Demand, Spot, covered by Reserved Instances, or covered by Compute Savings Plans.&lt;/p&gt;



&lt;p&gt;Do not treat the fee as a contractual flat percentage. The official pricing page describes it as a management fee that varies by EC2 instance type, and AWS pricing data is regional. The public pricing example for US West (Oregon) shows &lt;code&gt;c6a.2xlarge&lt;/code&gt; at $0.306/hour for EC2 plus $0.03672/hour for Auto Mode, &lt;code&gt;c6a.4xlarge&lt;/code&gt; at $0.612/hour plus $0.07344/hour, &lt;code&gt;m5a.2xlarge&lt;/code&gt; at $0.344/hour plus $0.04128/hour, and &lt;code&gt;m5a.xlarge&lt;/code&gt; at $0.172/hour plus $0.02064/hour. Those examples equal 12% of the listed On-Demand EC2 rate, but the safe formula for real planning is: &lt;code&gt;sum(instance-hours by instance type and region x published Auto Mode management rate)&lt;/code&gt;.&lt;/p&gt;



&lt;p&gt;The practical cost question is not &amp;ldquo;is there a premium?&amp;rdquo; There is. The useful question is whether the premium is lower than the engineering time, incident risk, and opportunity cost of operating node lifecycle yourself.&lt;/p&gt;



&lt;p&gt;For small teams, the answer may be yes even if the raw bill increases. For high-scale, cost-sensitive platforms, the answer needs real data: compare current EC2 waste, bin-packing efficiency, Spot usage, interruption rate, and platform maintenance time against an Auto Mode pilot.&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;When to use EKS Auto Mode&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Use Auto Mode if:&lt;/strong&gt;&lt;/p&gt;



&lt;ul class=&quot;wp-block-list&quot;&gt;

&lt;li&gt;You run EKS on AWS and do not have a hard requirement to manage nodes yourself&lt;/li&gt;


&lt;li&gt;You do not require custom AMIs or custom node bootstrap logic&lt;/li&gt;


&lt;li&gt;You want to reduce the operations surface for node lifecycle management&lt;/li&gt;


&lt;li&gt;You want Karpenter-like provisioning without operating Karpenter yourself&lt;/li&gt;


&lt;li&gt;Your workloads are mostly stateless or disruption-tolerant&lt;/li&gt;


&lt;li&gt;Your observability, security, and storage agents are compatible with Auto Mode&lt;/li&gt;

&lt;/ul&gt;



&lt;p&gt;&lt;strong&gt;Stick with managed node groups if:&lt;/strong&gt;&lt;/p&gt;



&lt;ul class=&quot;wp-block-list&quot;&gt;

&lt;li&gt;Your organization requires internally certified or hardened AMIs&lt;/li&gt;


&lt;li&gt;You need specific kernel configuration, kubelet flags, bootstrap scripts, or host packages&lt;/li&gt;


&lt;li&gt;You depend on privileged DaemonSets or host-level security tooling that Auto Mode cannot support&lt;/li&gt;


&lt;li&gt;You are in a regulated environment where the node image supply chain must be owned internally&lt;/li&gt;


&lt;li&gt;Your platform team already operates Karpenter well and values the extra control&lt;/li&gt;

&lt;/ul&gt;



&lt;p&gt;&lt;strong&gt;Use Fargate if:&lt;/strong&gt;&lt;/p&gt;



&lt;ul class=&quot;wp-block-list&quot;&gt;

&lt;li&gt;You specifically want per-pod compute isolation&lt;/li&gt;


&lt;li&gt;Your workload does not need DaemonSets or host-level integrations&lt;/li&gt;


&lt;li&gt;You accept Fargate&amp;rsquo;s scheduling, networking, storage, and observability constraints&lt;/li&gt;


&lt;li&gt;You want to avoid managing EC2 capacity entirely for a narrow class of workloads&lt;/li&gt;

&lt;/ul&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;Migration from managed node groups&lt;/h2&gt;



&lt;p&gt;Migrating an existing cluster to Auto Mode is supported, but it is not a one-command operational migration. AWS supports enabling Auto Mode on existing clusters, but you must update the cluster IAM role permissions and trust policy, enable compute, block storage, and load balancing capabilities together, and meet required add-on versions when those add-ons are installed. AWS also calls out unsupported direct migrations for EBS volumes from the standard EBS CSI provisioner to the Auto Mode EBS CSI provisioner, existing load balancers from AWS Load Balancer Controller to Auto Mode, and clusters using alternative CNIs or other unsupported networking configurations. A conservative path looks like this:&lt;/p&gt;



&lt;ol class=&quot;wp-block-list&quot;&gt;

&lt;li&gt;Enable Auto Mode on a non-production cluster running Kubernetes 1.29 or greater.&lt;/li&gt;


&lt;li&gt;Inventory workloads by scheduling assumptions: node selectors, affinities, tolerations, topology spread, PDBs, privileged mode, hostPath, local storage, and DaemonSet dependencies.&lt;/li&gt;


&lt;li&gt;Create or select the relevant Auto Mode &lt;code&gt;NodeClass&lt;/code&gt; and &lt;code&gt;NodePool&lt;/code&gt; resources.&lt;/li&gt;


&lt;li&gt;Move a low-risk namespace first by changing selectors, tolerations, or labels so pods land on Auto Mode nodes.&lt;/li&gt;


&lt;li&gt;Watch scheduling, replacement, load balancer behavior, persistent volume provisioning, logging, metrics, and security events.&lt;/li&gt;


&lt;li&gt;T&lt;/li&gt;&lt;/ol&gt;
</description>
<category>Other</category>
<guid isPermaLink="true">https://coderlegion.com/23253/eks-auto-mode-what-it-actually-changes-and-what-it-doesnt</guid>
<pubDate>Mon, 27 Jul 2026 10:00:00 +0000</pubDate>
</item>
</channel>
</rss>