As discussed in the last blogpost, Amazon EKS Anywhere, is a new deployment option for Amazon EKS that enables customers and operators to run open source Kubernetes clusters on premises. The first GA version supports deploying on VMware vSphere with future plans to support Bare metal clusters and other virtualization providers over time. EKS Anywhere also provides installable software packages for cluster creation and automation tooling for cluster lifecycle support. EKS Anywhere is based on the EKS Distro[1], and adds opinionated services for cluster lifecycle management. These include Cilium as the CNI, Flux as the GitOps operator and support for the cluster API.
EKS Anywhere will reduce the complexity of managing on premise clusters as AWS includes an OS and will offer full support for it. Customers don’t need to buy or build their own management tooling to create EKS Distro clusters, to configure the operating environment, and update software. Finally, you can leverage the EKS console to view all your Kubernetes clusters, running anywhere.
AWS hopes to address 4 key use cases with EKS Anywhere –
- Support hybrid cloud consistency as customers intend to operate both cloud based and on premise clusters using unified tooling
- Support disconnected yet highly available clusters
- Enable data sovereignty and compliance requirements for certain use cases which require data and control plane to stay on premises
- Support Application modernization initiatives via GitOps
My colleague Gokul Chandra has an excellent and comprehensive deepdive blog on EKS Anywhere –
https://gokulchandrapr.medium.com/amazon-eks-anywhere-eks-connector-600953aaa42d
The article covers the following topics.
- The various stages of EKS A cluster creation -”Cluster creation involves two steps, generating a configuration file template using eksctl anywhere generate command, adding required information to the template followed by eks anywhere create cluster command which involves a sequence of steps starting with validating the vSphere assets to creating a workload cluster. Users can run these commands from macOS or Linux host with docker installed on it, this is termed as an admin machine.”
- Configuration – “Each EKS Anywhere cluster is built from a cluster specification file, with the structure of the configuration file based on the target provider for the cluster. Currently, VMware vSphere is the recommended provider for supported EKS Anywhere clusters in production. EKS Anywhere uses EKS-D (EKS Distro) for bootstrapping the Kubernetes cluster. Similar to CAPV and CAPI specifications there involves a global cluster configuration with references to machine configs. With EKS Anywhere, this configuration is condensed and made simple so that users can provide a base configuration and EKS Anywhere will translate the same to the required specs.”
- OS – “EKS Anywhere today supports two operating system families: Ubuntu and Bottlerocket (default), users can use the released OVA’s from artifacts or build them with a custom base image.”
- EKS Connector – “Amazon Elastic Kubernetes Service (Amazon EKS) now allows users to connect any conformant Kubernetes cluster to AWS and visualize it in the Amazon EKS console. EKS Connector is a new capability that allows users to connect any Kubernetes clusters to the EKS console (not limited to EKS Anywhere) securely, eks-connector-agent installed on the connected cluster communicates to AWS through a secure data channel using Session Manager.”
- 3rd party open source integration – “EKS Anywhere offers AWS support for certain third-party vendor components, namely Ubuntu TLS, Cilium, and Flux. It also provides flexibility for users to integrate with their choice of tools in other areas as they do today with any Kubernetes environment. Some of the tools in the list are as below, these are not covered by the EKS Anywhere support subscription but users can use the documentation to get an idea on how to implement these on EKS Anywhere clusters.”
EKS Anywhere brings a consistent AWS management experience to your data center, building on the strengths of Amazon EKS Distro, an open-source distribution for Kubernetes used by Amazon EKS.