Amazon EKS Anywhere (K8s)

Uğur Duran
7 min readNov 8, 2021

Now Generally Available to Create and Manage Kubernetes Clusters on Premises

Amazon EKS Anywhere is a new deployment option for Amazon EKS that allows customers to create and operate Kubernetes clusters on customer-managed infrastructure, supported by AWS. Customers can now run Amazon EKS Anywhere on their own on-premises infrastructure using VMware vSphere starting today, with support for other deployment targets in the near future, including support for bare metal coming in 2022.

Amazon EKS Anywhere helps simplify the creation and operation of
on-premises Kubernetes clusters with default component configurations while providing tools for automating cluster management. It builds on the strengths of Amazon

EKS Distro the same Kubernetes distribution that powers Amazon EKS on AWS. AWS supports all Amazon EKS Anywhere components including the integrated 3rd-party software, so that customers can reduce their support costs and avoid maintenance of redundant open-source and third-party tools.

In addition, Amazon EKS Anywhere gives customers on-premises Kubernetes operational tooling that’s consistent with Amazon EKS. You can leverage the EKS console to view all of your Kubernetes clusters (including EKS Anywhere clusters) running anywhere, through the EKS Connector (public preview)

We provide several deployment options for your Kubernetes cluster:

eks anywhere table

EKS Anywhere integrates with a variety of products from our partners to help customers take advantage of EKS Anywhere and provide additional functionality. This includes Flux for cluster updates, Flux Controller for GitOps, eksctl — a simple CLI tool for creating and managing clusters on EKS, and Cilium for networking and security.

We also provide flexibility for you to integrate with your choice of tools in other areas. To add integrations to your EKS Anywhere cluster, see this list of suggested third-party tools for your consideration.

how is it works

Get Started with Amazon EKS Anywhere
To get started with EKS Anywhere, you can create a bootstrap cluster in your machine for local development and test purposes. Currently, it allows you to create clusters in a VMware vSphere environment for production workloads.

Let’s create a cluster on your desktop machine using eksctl! You can install eksctl and eksctl-anywhere with homebrew on Mac. Optionally, you can install some additional tools you may want for your EKS Anywhere clusters, such as kubectl. To learn more on Linux, see the installation guide in EKS Anywhere documentation.

If you are using ubuntu or macOS system, you should also have docker , eksctl , eksctl anywhere and kubectl installed on your local or on-premises system.

requirement tools

Amazon EKS offers support in kubernetes versions suitable for systems to run.

Here, as kubernetes 4 version, aws support is informed by the version 3 months before the end of the support period. This upgrade is required by the customer.

Amazon EKS

AWS anywhere and hardware is the responsibility of the customer side, whether it is periodically managed in your own on-premises environments.

AWS EKS management table

AMAZON EKS-DISTRO

Amazon EKS Distro is a Kubernetes distribution used by Amazon EKS to build reliable and secure clusters. EKS Distro includes open source Kubernetes binaries and containers, etcd (cluster configuration database), networking, storage plugins; all tested for compatibility. You can deploy EKS Distro wherever your application needs to run.

You can deploy clusters and let AWS test and track Kubernetes updates, dependencies, and patches. Each EKS Distro certifies new Kubernetes versions for compatibility. Source code, open source tools and settings are provided for reproducible builds. EKS Distro will provide broad support for Kubernetes with builds of previous versions updated with the latest security patches. EKS Distro is available as open source on GitHub.

AMAZON EKS-ANYWHERE

Amazon Elastic Container Service (ECS) Anywhere is a feature of Amazon ECS that enables you to easily run and manage container workloads on customer-managed infrastructure.

ECS Anywhere builds upon the ease and simplicity of Amazon ECS to provide a consistent tooling and API experience across your container-based applications. Whether on-premises or in the cloud, you’ll have similar cluster management, workload scheduling, and monitoring you’ve come to know from Amazon ECS. Reduce costs and mitigate complex local container orchestration by taking advantage of the completely managed solution that ECS Anywhere provides. ECS Anywhere helps you meet compliance requirements and scale your business without sacrificing your on-premises investments.

Let’s start install on-premises install for MacOS:

Generate a cluster config and create a cluster.

Once your workload cluster is created, a KUBECONFIG file is stored on your admin machine with admin permissions for the workload cluster. You’ll be able to use that file with kubectl to set up and deploy workloads.

You can create a simple test application for you to verify your cluster is working properly. Deploy and see a new pod running in your cluster, and forward the deployment port to your local machine with the following commands:

EKS Anywhere also supports a VMware vSphere 7.0 version or higher for production clusters. To create a production cluster, see the requirements for VMware vSphere deployment and follow Create production cluster in EKS Anywhere documentation. It’s almost the same process as creating a test cluster on your machine.

A production-grade EKS Anywhere cluster should include at least three control plane nodes and three worker nodes on the vSphere for high availability and rolling upgrades. See the Cluster management in EKS Anywhere documentation for more information on common operational tasks like scaling, updating, and deleting the cluster.

EKS Connector — Public Preview
EKS Connector is a new capability that allows you to connect any Kubernetes clusters to the EKS console. You can connect any Kubernetes cluster, including self-managed clusters on EC2, EKS Anywhere clusters running on premises, and other Kubernetes clusters running outside of AWS to the EKS console. It makes it easy for you to view all connected clusters centrally.

To connect your EKS Anywhere cluster, visit the Clusters section in EKS console and select Register in the Add cluster drop-down menu.

Define a name for your cluster and select the Provider
( if you don’t find an appropriate provider, select Other ).
We are select EKS-anywhere.

After registering the cluster, you will be redirected to the Cluster Overview page. Select Download YAML file to get the Kubernetes configuration file to deploy all the necessary infrastructure to connect your cluster to EKS.

Apply downloaded eks-connector.yaml. EKS Connector acts as a proxy and forwards the EKS console requests to the Kubernetes API server on your cluster, so you need to associate the connector’s service account with an EKS Connector Role, which gives permission to impersonate AWS IAM entities. To learn more, visit Granting access to a user to view a cluster in Amazon EKS User Guide.

After completing the registration, the cluster should be in the ACTIVE state.

Here is the expected output:

EKS Connector is now in public preview in all AWS Regions where Amazon EKS is available.You are ready to use Eks-anywhere to manage your test and production environments in on-premises environments.

Bestcloudfor.me
TEAM : Uğur Duran, Ebru Dalkır, Kaan Diren

--

--