Kubernetes on AWS
Kubernetes is open-source software that allows you to deploy and manage containerized applications at scale. Kubernetes manages clusters of Amazon Elastic Compute Cloud (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 Kubernetes Service (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 Amazon Virtual Private Cloud (VPC), AWS Identity and Access Management (IAM), and service discovery as well as the security, scalability, and high-availability of AWS.
IF YOU WANT TO... |
CONSIDER USING | |
---|---|---|
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 actively works with the Kubernetes community, including making contributions to the Kubernetes code base, to help Kubernetes users take advantage of AWS services and features.
Pod networking in Kubernetes using Elastic Network Interfaces on AWS.
Cdk8s lets you define Kubernetes applications using code.
Configure Route 53 Service Discovery for Kubernetes Ingresses and Services.
Just-in-time nodes for any Kubernetes cluster.
Community-led special interest group focused on AWS integrations to the Kubernetes API.
A PyTorch model serving framework to deploy trained ML models.
Learn more about Kubernetes on AWS
Learn more about containers on AWS