Kubernetes on AWS

Open source container management and orchestration


Kubernetes is open source software that allows you to deploy and manage containerized applications at scale. Kubernetes manages clusters of Amazon EC2 compute instances and runs containers on those instances with processes for deployment, maintenance, and scaling. Using Kubernetes, you can run any type of containerized applications using the same toolset on-premises and in the cloud.

AWS makes it easy to run Kubernetes in the cloud with scalable and highly-available virtual machine infrastructure, community-backed service integrations, and Amazon Elastic Container Service for Kubernetes (EKS), a certified conformant, managed Kubernetes service.


Kubernetes works by managing a cluster of compute instances and scheduling containers to run on the cluster based on the available compute resources and the resource requirements of each container. Containers are run in logical groupings called pods and you can run and scale one or many containers together as a pod.

Kubernetes control plane software decides when and where to run your pods, manages traffic routing, and scales your pods based on utilization or other metrics that you define. Kubernetes automatically starts pods on your cluster based on their resource requirements and automatically restarts pods if they or the instances they are running on fail. Each pod is given an IP address and a single DNS name, which Kubernetes uses to connect your services with each other and external traffic.


Because Kubernetes is an open source project, you can use it to run your containerized applications anywhere without needing to change your operational tooling. Kubernetes is maintained by a large community of volunteers and is always improving. Additionally, many other open source projects and vendors build and maintain Kubernetes-compatible software that you can use to improve and extend your application architecture.



Kubernetes lets you define complex containerized applications and run them at scale across a cluster of servers.



Using Kubernetes, containerized applications can be seamlessly moved from local development machines to production deployments on the cloud using the same operational tooling.



Run highly available and scalable Kubernetes clusters on AWS while maintaining full compatibility with your Kubernetes deployments running on-premises.



As an open source project, adding new functionality to Kubernetes is easy. A large community of developers and companies build extensions, integrations, and plugins that help Kubernetes users do more.


AWS makes it easy to run Kubernetes. You can choose to manage Kubernetes infrastructure yourself with Amazon EC2 or get an automatically provisioned, managed Kubernetes control plane with Amazon EKS. Either way, you get powerful, community-backed integrations to AWS services like VPC, IAM, and service discovery as well as the security, scalability, and high-availability of AWS.

Fully manage your Kubernetes deployment. Provision and run Kubernetes on your choice of powerful instance types. Amazon EC2
Run Kubernetes without needing to provision or manage master instances and etcd.
Amazon EKS
Store, encrypt, and manage container images for fast deployment.
Amazon ECR


AWS Community Kubernetes Collaborations

AWS actively works with the Kubernetes community, including making contributions to the Kubernetes code base, to help Kuberentes users take advantage of AWS services and features.


CNI Plugin

Pod networking in Kubernetes using Elastic Network Interfaces on AWS.


IAM Authenticator

A tool for using AWS IAM credentials to authenticate to a Kubernetes Cluster.


External DNS

Configure Route 53 Service Discovery for Kubernetes Ingresses and Services.



Community-led special interest group focused on AWS integrations to the Kubernetes API



Experimental - run containers on AWS Fargate using the Kubernetes control plane.


Q: What is a Kubernetes cluster?

A Kubernetes cluster is a logical grouping of EC2 compute instances that run your containers. A cluster consists of the control plane (the instances that control how, when, and where your containers run), and the data plane (the instances where your containers run). You must define a cluster before you can run containers or services with Kubernetes.

Q: What is a Kubernetes node?

A Kubernetes node is a single compute instance (virtual machine) that is part of a Kubernetes cluster. There are two types of instances: masters and workers. Masters host the Kubernetes API server and control how, when, and where your containers run. Workers are the compute instances where your containers actually run and process data.

Q: What is a Kubernetes pod?

A Kubernetes pod is the way that Kubernetes runs containers on a compute instance and includes containers and specifications for how they should run, networking, and storage. A pod can be a single container or multiple containers that always run together. If you usually run single containers, than you can think of a pod as a running container.

Q: What is etcd?

etcd is a distributed key value store that lets you store and share data across a distributed cluster of machines. Kubernetes uses etcd to store data about your cluster and share it across the Kubernetes control plane.

Q: Does AWS support Kubernetes?

AWS makes it easy to run Kubernetes. In fact, AWS has the most customers running Kubernetes in the cloud, with the majority of Kubernetes deployments running on AWS according to the Cloud Native Computing Federation (CNCF). AWS collaborates with and actively contributes to the Kubernetes community in order to make it easy for customers to run Kubernetes on AWS.

AWS offers Amazon Elastic Container Service for Kubernetes (EKS), a managed service that makes it easy for you to use Kubernetes on AWS without needing to install and operate the Kubernetes control plane.

Q: How do I use Kubernetes on AWS?

There are two main ways to use Kubernetes on AWS, run it yourself on Amazon EC2 virtual machine instances, or use the Amazon EKS service. You can learn more about running Kubernetes yourself on EC2 in our Github workshop. You can learn more about using Amazon EKS on the product page.

Ready to build?
Create an AWS account
Have more questions?
Contact us