At the AWS re:Invent, AWS announced EKS Auto Mode for their Amazon Elastic Kubernetes Service (Amazon EKS), a capability to existing Elastic Kubernetes Service (EKS) that now automates the Kubernetes cluster management for computing, storage, and networking. Now with the EKS Auto Mode, users can offload the overhead work of provisioning and managing infrastructure for their production-grade Kubernetes cluster to AWS. In this blog, we will take a look at what EKS Auto Mode is, its key features, and how users can benefit from this new AWS offering.
What is EKS Auto Mode?
The EKS Auto Mode simplifies Kubernetes cluster management by automating the provisioning and maintenance of production-grade Kubernetes clusters. While creating or updating an existing EKS cluster with EKS Auto Mode enabled, EKS deploys the essential controllers automatically to manage computing, networking, and storage capabilities along with the managed Kubernetes control plane. Moreover, the EKS Auto Mode dynamically scales Kubernetes cluster resources, continuously optimizes the infrastructure cost, and provides an automated OS upgrade to maintain security. This automation allows you to focus on their application development rather than struggling with the cluster administration tasks.
Now with the EKS Auto Mode, you can quickly spin up the production-grade Kubernetes clusters, and reduce the overhead work which allows you to execute lightning-speed Kubernetes deployments. For the AI/ML workloads, EKS Auto Mode will spin cost-effective GPU instances for these workloads whenever they are needed.
Why EKS Auto Mode?
But why is there a need for something like EKS Auto Mode? Wasn't the EKS sufficient?
In EKS clusters, AWS manages the control plane i.e. the API Server Instances and etcd Instances of the EKS clusters. While users were responsible for handling other critical cluster infrastructure components like EKS Add-Ons, EC2 instances, and Supporting AWS Services. Managing these elements for production-grade Kubernetes applications and clusters posed significant operational challenges and complexity.
In the EKS Auto Mode, AWS takes a step forward and along with the Managed Control Plane, EKS takes control of Storage, Compute, Load Balancing, and EC2-managed Instances. The EKS Auto Mode also allows the node to run as system processes managed by AWS. Which includes elements like service discovery, service load balancing, pod networking, block storage, and credential vending. For the regular updates and to maintain the security posture AWS EKS Auto Mode takes the lifecycle management by providing updates to all components. Moreover, EKS Auto Mode handles cluster upgrades and OS updates automatically by gracefully replacing nodes.
By automating these infrastructure elements management tasks, AWS reduces the operational overhead faced by engineers and developers, enabling them to focus more on application development rather than infrastructure complexities.
So the reasons for Using EKS Auto Mode can be:
- Offloading Cluster Operations
- Improve Performance, Availability, and Security of Applications
- Continuously Optimize Compute Cost
Features of EKS Auto Mode
Streamline Kubernetes Cluster Management
AWS EKS Auto Mode enhances the management of Kubernetes clusters by automating the setup and maintenance of critical infrastructure components. This feature allows users to confidently run complex, dynamic workloads while minimizing the need for extensive EKS knowledge. It streamlines operations by providing production-ready clusters with reduced operational overhead, enabling teams to focus on application development rather than infrastructure management.
Dynamic Resource Scaling
The Auto Mode of EKS dynamically manages the number of nodes in the cluster it scales the compute instances according to the resource demand of applications and ensures the application availability. This minimizes the manual efforts of managing resources according to demand and also helps teams to reduce the compute cost.
Cost Efficiency
EKS Auto Mode is designed to optimize the costs of infrastructure while maintaining the flexibility required by NodePool and workload specifications. It efficiently terminates idle instances and redistributes workloads across other nodes to enhance cost-effectiveness. This dynamic resource management ensures that you only pay for what you need, maximizing both performance and budget efficiency.
Security
EKS Auto Mode enhances the overall security of your Kubernetes environment by utilizing the Amazon Machine Images (AMIs) for your nodes, this enforces strict software controls, implements the SELinux mandatory access control, and provides read-only access to root files. Additionally, nodes launched in EKS Auto Mode have a maximum lifespan of 21 days, which can be adjusted, after which they are automatically replaced with new instances. This regular node replacement strategy strengthens your security posture by preventing configuration drift and is in line with best practices adopted by many customers
Automated Upgrades
EKS Auto Mode automates the upgrade process for your Kubernetes clusters, nodes, and associated components, ensuring they are consistently updated with the latest patches. This automation respects your configured Pod Disruption Budgets (PDBs) and NodePool Disruption Budgets (NDBs), allowing for minimal disruption during upgrades.
Managed Components
EKS Auto Mode integrates essential Kubernetes and AWS cloud features as core components, removing the need for separate management. It includes built-in support for Pod IP address assignments, network policies, local DNS services, GPU plug-ins, health checkers, and EBS CSI storage. This integration simplifies cluster management and enhances operational efficiency, allowing users to focus on application deployment rather than infrastructure tasks.
Customizable NodePools and NodeClasses
EKS Auto Mode allows you to create custom NodePools and NodeClasses to accommodate specific workload requirements related to storage, computing, or networking configurations. While the default NodePools and NodeClasses are fixed and cannot be modified, you can add new custom ones alongside them to tailor your environment to meet your needs. This flexibility enables you to select instance types or isolate workloads for better security and cost management.
Simplify your Kubernetes Deployment with Devtron
With AWS simplifying the provisioning and management of EKS clusters with Auto Mode, teams can focus on deploying their Kubernetes applications. However, this deployment process can still be complex and tedious.
Devtron simplifies this process by providing a single comprehensive platform for managing the lifecycle of Kubernetes applications. Devtron is an open-source platform with integrated GitOps-enabled CI/CD pipelines precisely tailored for Kubernetes environments. Along with these CI/CD pipelines, Devtron provides complete 360-degree visibility for your applications and Kubernetes clusters. Let's look at some of the key features that Devtron:
Unified CI/CD Pipelines
Devtron provides a centralized platform to build, test, and deploy applications across multiple Kubernetes environments. It comes with integrated CI/CD pipelines that follow the GitOps approach for reliable deployments. These integrated CI/CD pipelines are policy-driven where you can configure approval-based deployments, deployments after scanning for vulnerabilities. Devtron reduces the tools sprawl that teams often struggle with while deploying applications to Kubernetes.
Multi-Cluster Management
Devtron enables you to manage multiple Kubernetes clusters from a single interface. You can now deploy and manage applications across different clusters while maintaining consistent policies and configurations.
Day 2 Operation Management
After the application is successfully built and deployed to the Kubernetes cluster, operations teams will have to worry about managing Day 2 Kubernetes operations such as application upgrades, performance monitoring, rolling back in case of deployment failures, application troubleshooting, etc. Devtron provides a plethora of differnet capabilities that help simply Day 2 operations from a single unified dashboard while allowing teams to collaborate effectively.
Security
Devtron helps to implement and maintain robust security for your Kubernetes environments including simplified role-based access control (RBAC), vulnerability scanning, and policy enforcement through a simplified GUI.
Developer Productivity
Streamlines the development workflow with features like one-click deployments, automated rollbacks, and self-service capabilities. Includes built-in debugging tools and environment management to help developers work more efficiently.
Conclusion
In summary, AWS's introduction of EKS Auto Mode marks a significant advancement in simplifying Kubernetes cluster management by automating vital infrastructure components. This feature alleviates the operational burdens on developers and engineers, allowing them to concentrate on application development rather than the complexities of Kubernetes administration. However, EKS while EKS auto mode simplifies the infrastructure management aspect of Kubernetes, managing the application still has its challenges. Devtron provides a simplified and streamlined approach for Kubernetes deployments and application management. Devtron, with its integrated GitOps-enabled CI/CD pipelines, facilitates reliable and efficient deployments, reducing the tool sprawl often encountered in complex environments.
Together, EKS Auto Mode and Devtron create a powerful synergy that simplifies Kubernetes workflows, enabling teams to innovate and deliver applications with unprecedented ease and efficiency.