No history yet

Control Plane Architecture

The Managed Control Plane

When you create an Amazon EKS cluster, you're not just spinning up a few virtual machines. You're commissioning a fully managed, highly available Kubernetes control plane. This is the core of EKS's value: AWS handles the complex, critical, and often tedious parts of running Kubernetes, allowing you to focus on your applications.

The control plane is the brain of the Kubernetes cluster, managing its overall state and orchestrating workloads.

This management follows a shared responsibility model. Think of it like owning a condominium. The building management is responsible for the foundation, the lobby, the elevators, and the roof—the shared infrastructure. You, the owner, are responsible for everything inside your own unit: the furniture, the appliances, and the security of your front door. In EKS, AWS manages the control plane infrastructure, while you manage your worker nodes and the applications running on them.

ResponsibilityAWS (The Condo Management)You (The Condo Owner)
Control PlaneManages, secures, and scales the API server, scheduler, and etcd.N/A
Worker NodesProvisions the underlying EC2 instances if using managed node groups.Manages OS patching, security, scaling, and networking.
ApplicationsN/ADeploys, secures, and manages application pods and services.
NetworkingManages the VPC where the control plane lives.Configures the VPC, subnets, and security groups for worker nodes.
IAMProvides IAM integration for cluster authentication.Manages IAM roles and policies for pods and users.

Built for High Availability

A production control plane cannot have a single point of failure. EKS achieves resilience by distributing the control plane components across at least three within an AWS Region. Each component, including the API server and the database, runs in a redundant configuration. If one zone experiences an outage, the control plane continues to operate from the others, transparently to you and your workloads.

This architecture is foundational to the service. The control plane itself lives inside an AWS-managed Virtual Private Cloud (VPC), completely separate from your own VPC where your worker nodes reside. This separation is a security and operational best practice. It prevents you from accidentally misconfiguring or deleting a critical control plane component. AWS manages the networking, security groups, and access for this hidden VPC, ensuring the control plane is isolated and secure.

Bridging Kubernetes and AWS

For Kubernetes to be useful on AWS, it needs to interact with AWS services. For example, when you create a Kubernetes Service of type LoadBalancer, you expect an AWS Elastic Load Balancer (ELB) to be provisioned automatically. This magic is handled by the AWS (CCM).

The CCM runs as part of the managed control plane and acts as a bridge. It watches the Kubernetes API for certain resources and translates them into calls to AWS APIs. This integration allows Kubernetes to manage AWS resources natively, such as:

  • Nodes: It updates the state of nodes in Kubernetes if their corresponding EC2 instance is terminated.
  • Routes: It configures VPC routing tables for the pod networking overlay.
  • Services: It provisions and configures ELBs when a LoadBalancer service is created.

Finally, understanding what's happening inside the control plane is crucial for troubleshooting and security auditing. EKS helps with this by publishing control plane logs directly to Amazon CloudWatch Logs. You can enable logging for the API server, authenticator, scheduler, and controller manager. This gives you deep visibility into every API request, every scheduling decision, and every action taken by the control plane, all within the familiar CloudWatch interface.

Quiz Questions 1/5

In the Amazon EKS shared responsibility model, which of the following is the customer's responsibility?

Quiz Questions 2/5

What is the primary function of the AWS Cloud Controller Manager (CCM) in an EKS cluster?

This managed, resilient, and integrated control plane is the foundation upon which you build your containerized applications with EKS.