Q: What is Amazon EKS Anywhere?
Amazon EKS Anywhere is a new deployment option that enables you to easily create and operate Kubernetes clusters on-premises, including on your own virtual machines (VMs) and bare metal servers. Kubernetes is open source software for automating deployment, scaling, and management of containerized applications, and Amazon EKS is a managed Kubernetes service to run Kubernetes on AWS. Amazon EKS Anywhere provides an installable software package for creating and operating Kubernetes clusters on-premises at scale. Amazon EKS Anywhere creates clusters based on Amazon EKS Distro, the same Kubernetes distribution used by Amazon EKS for clusters on AWS. Amazon EKS Anywhere enables you to automate cluster management, reduce support costs, and eliminate the redundant effort of using multiple tools for operating Kubernetes clusters, and it’s fully supported by AWS.
Q: Why should I use EKS Anywhere?
Many customers running Kubernetes across multiple environments struggle with finding support for the various components that make up the stack. Fragmented support and for licensing every component results in complexity, an inconsistent stack, support gaps, and inability to get resolutions or root-cause issues when things break. With Amazon EKS Anywhere, you can leverage a single support agreement and consistent environment for your Amazon EKS cluster deployments across locations. The burden of collating and testing the various components needed to run Kubernetes in production is provided and maintained by AWS, getting your apps into production sooner by freeing up valuable cycles for your engineers.
Q: What is EKS Distro?
EKS Distro is a distribution of the same open source Kubernetes and dependencies deployed by
Amazon EKS for you to manually create Kubernetes clusters anywhere. EKS Distro includes binaries and containers of open source Kubernetes, etcd (cluster configuration database), networking, storage plugins, all tested for compatibility. EKS Distro will provide extended support for Kubernetes versions after community support expires, by updating builds of previous versions with the latest critical security patches. You will be able to securely access EKS Distro releases from GitHub or within AWS via Amazon S3 and Amazon ECR for a common source of releases and updates.
Q: What is the Amazon EKS dashboard?
Amazon EKS provides an integrated dashboard in the AWS console for connecting, visualizing, and troubleshooting Kubernetes clusters and applications running anywhere.
Q: Does EKS Anywhere require internet connectivity to an AWS region?
There are three connectivity options: fully connected, partially disconnected, and fully disconnected. For fully connected and partially disconnected connectivity, you can connect your Amazon EKS Anywhere clusters to AWS. This lets you leverage the EKS console as a single pane of glass for clusters running anywhere, integrate with App Mesh, push logs and metrics into AWS for centralized observability, perform cluster backups and snapshots to Amazon S3 buckets, run cluster cost management and optimization tools, and run compliance checks, audit trail reporting, and configuration policy enforcement. In the case of partially disconnected clusters, there is no impact on your applications running on the clusters but since intermittent disconnects can last several hours, features such as centralized observability and the EKS dashboard in the AWS console will show state from the time of disconnect, with eventual consistency restored once the connection returns. In disconnected scenarios, you can use EKS Distro and leverage open source tools to run your clusters.
Q: What is the relationship between EKS Anywhere and EKS Distro?
There are two things you need to run Kubernetes. First you need a trusted distribution that can be deployed anywhere (EKS Distro.) Second, once you move from development to production environments, you will need management tooling to run at scale (EKS Anywhere.) If you currently manage your own Kubernetes clusters, you can leverage EKS Distro to standardize on a secure, stable, and community supported version of Kubernetes across your environments and leverage open source tooling to create and manage EKS Distro clusters. EKS Anywhere runs EKS Distro and provides automation tooling that simplifies cluster creation, administration and operations on infrastructure such as bare metal, vSphere, and cloud virtual machines with default configurations for logging, monitoring, networking, and storage but brings opinionated tooling and additional components you would need to run Kubernetes in production: cluster installation and lifecycle management, observability, cluster backup, and policy management.
Q: What functionality does EKS Anywhere offer?
EKS Anywhere provides an installer and command line interface (CLI.) It offers cluster bootstrap of opinionated EKS Distro clusters with optional configuration defaults for node OS, container runtime, container network interface (CNI), service load balancer, ingress and storage classes EKS Anywhere brings deployment targets for your own bare metal or vSphere clusters. You get connectivity support for fully connected, partially connected and disconnected environments. EKS Anywhere offers a monitoring and logging stack (including Prometheus and Grafana.) You can do cluster pre-flight checks. You can use OAuth and Open ID Connect federation with AWS IAM. EKS Anywhere works with the AWS Controllers for Kubeneters (ACK controller.) You can connect clusters to AWS APIs like the EKS dashboard, AWS App Mesh, AWS SSM, AWS CloudWatch, and AWS Marketplace. EKS Anywhere enables git driven cluster lifecycle and config management using the Flux operator. AWS supports bundle to push cluster telemetry, logs, and metrics to AWS. You can do cluster snapshots and cluster backups. There are tools for cluster cost optimization. EKS Anywhere comes with AWS Premium support.
Q: How will EKS Anywhere clusters be opinionated?
An opinionated Kubernetes cluster provides you with pre-configured defaults to reduce complexity and automate cluster configuration associated with creating and operating a cluster in the environment it’s running in. EKS Anywhere runs the opinionated EKS Distro that includes optional defaults consistent with Amazon EKS for node OS, container runtime, container network interface (CNI), ingress, storage classes, and observability. EKS Anywhere will also have a service load balancer as a packaged default.
Q: How does this feature or service relate to other AWS services?
You can consume AWS services with EKS Anywhere, such as pulling container images from Amazon ECR and deploying containerized application stacks from AWS Marketplace. You can connectEKS Anywhere clusters to the EKS operations dashboard, and snapshot, backup clusters to Amazon S3. You can connect EKS Anywhere infrastructure resources using AWS SSM agents and view using the SSM dashboard, aggregate EKS Anywhere logs and metrics to Amazon CloudWatch, and audit cluster configurations using AWS Config.
Q: How can I use Amazon ECR with EKS Anywhere?
You can point your existing CI/CD pipelines to Amazon ECR and leverage AWS services such as Direct Connect + VPN to establish a secure tunnel from your on-premises network. You can also leverage ECR for a public image repository. EKS Anywhere enables the gradual shift of the your registry data from on-premises to AWS.
Q: What platforms and operating systems does EKS Anywhere support for external compute?
EKS Anywhere clusters will support virtualized infrastructure (VMware vSphere 6.5+) and bare metal. You can bring your own supported operating system or use an AWS bundled OS. In the case of you bringing your own OS, Amazon will provide vendors with a test matrix to certify your OS versions with EKS Anywhere. In the case of vSphere clusters, EKS Anywhere is given vCenter API access to perform CRUD operations on VMs. For bare metal, you provides the node, OS, node networking and EKS Anywhere will automate cluster provisioning on top.
Q: Will EKS Anywhere support bare-metal clusters?
Yes, EKS Anywhere will support x86_x64 architecture running a bundled operating system, and we will certify specific operating systems per customer feedback.
Q: How do I start using EKS Anywhere?
The first step is to download an installer and a command line interface (CLI) tool. The installer is run to create a local environment to use the CLI tool to create the first Kubernetes cluster. Cluster properties such as node size, networking, storage is specified in a EKS Anywhere provided cluster config file. The CLI is used to create a EKS Anywhere cluster with the desired configuration. Once a cluster is provisioned, the cluster lifecycle can be managed using gitops. You can easily consume AWS services such as S3 for cluster snapshots and backups and benefit from centralized control provided by EKS, Systems Manager, App Mesh, and CloudWatch. When a security patch or new version of EKS becomes available, you are notified from the EKS console, GitHub release channel or SNS topic. AWS becomes the central place customer run and operate your Kubernetes clusters running across your on-premises and AWS environments.
Q: What operating systems will EKS Anywhere support for containers?
EKS Anywhere will ship with supported node operating systems. You will also be able to bring your own node operating system and support license.
Q: Does EKS Anywhere manage the underlying customer hardware?
No. EKS Anywhere will not manage the underlying cluster infrastructure or your cluster control plane. Management will be a shared responsibility model. AWS will provide you cluster management tooling that can operate online and offline, however, the underlying infrastructure is the responsibility of your platform team.
Q: What pre-requisites will you need to fulfill in order to get started with EKS Anywhere?
You will need to provide capacity for control cluster instances, allocate VM or bare-metal hardware for cluster creation, worker nodes, and open ports internally to allow traffic between the allocated capacity and API server (Default Port 6443) and between operator endpoints for eksctl. Ports and traffic will also need to be allowed outbound from the cluster’s subnet(s) to Amazon EKS across VPN, Direct Connect or Transit Gateway to enable multi-cluster tooling, agent traffic to send health status to Amazon EKS, and App Mesh control plane access for its controller.
Q: Will EKS Anywhere work with AWS Snowball?
Yes, EKS Anywhere will officially support Snowball compute instances for disconnected use cases.