Managed Node Groups
Prepare your environment for this section:
In the Getting started lab, we deployed our sample application to EKS and saw the running Pods. But where are these Pods running?
An EKS cluster contains one or more EC2 nodes that Pods are scheduled on. EKS nodes run in your AWS account and connect to the control plane of your cluster through the cluster API server endpoint. You deploy one or more nodes into a node group. A node group is one or more EC2 instances that are deployed in an EC2 Auto Scaling group.
EKS nodes are standard Amazon EC2 instances. You're billed for them based on EC2 prices. For more information, see Amazon EC2 pricing.
Amazon EKS managed node groups automate the provisioning and lifecycle management of nodes for Amazon EKS clusters. This greatly simplifies operational activities such as rolling updates for new AMIs or Kubernetes version deployments.
Advantages of running Amazon EKS managed node groups include:
- Create, automatically update, or terminate nodes with a single operation using the Amazon EKS console,
eksctl
, AWS CLI, AWS API, or infrastructure as code tools including AWS CloudFormation and Terraform - Provisioned nodes run using the latest Amazon EKS optimized AMIs
- Nodes provisioned as part of a MNG are automatically tagged with metadata such as availability zones, CPU architecture and instance type
- Node updates and terminations automatically and gracefully drain nodes to ensure that your applications stay available
- No additional costs to use Amazon EKS managed node groups, pay only for the AWS resources provisioned
We can inspect the default managed node group that was pre-provisioned for you:
There are several attributes of managed node groups that we can see from this output:
- Configuration of minimum, maximum and desired counts of the number of nodes in this group
- The instance type for this node group is
m5.large
- Uses the
AL2_x86_64
EKS AMI type
We can also inspect the nodes and the placement in the availability zones.
You should see:
- Nodes are distributed over multiple subnets in various availability zones, providing high availability
Over the course of this module we'll make changes to this node group to demonstrate the capabilities of MNGs.