You see EKS Anywhere is GA? You should know what it is *not* first! :)
Disclaimer
This article was written when EKS Anywhere(EKS-A) was just released! It may contain, in the future, what it really provides or doesn’t!
The story begins with…
So yeah, if you’re reading this article, that means you at least have seen this announce by AWS.
So EKS Anywhere… wtf is it? What does it support and what not?
First, you should know that EKS Anywhere is not an AWS service. As written in the blog post above, it’s an *option* to deploy an EKS Distro(EKS-D) cluster on your (mostly on-prem) environment.
So, “EKS Anywhere” itself is not in the AWS web UI, nor in the AWS CLI as an option. More precisely, EKS Anywhere is ultimately just a CLI tool, which functions as a subcommand of eksctl
.
Why eksctl?
So it’s a subcommand of eksctl
, but why?
The biggest benefit that AWS wants to bring with EKS Anywhere is to provide the consistent deployment way both for EKS and On-prem. Imagine you’re a cluster admin who have over 100 clusters on both AWS and On-prem environment. Only if you could use the consistent way to manage them… That’s the most suitable use-case for EKS Anywhere. All you need is just the eksctl
and you can create/delete/upgrade the Kubernetes clusters using Cluster API maybe even without noticing that.
Cluster API?
If you want to use EKS Anywhere, it is most likely essential to understand what Cluster API is. Cluster API is a Kubernetes project that bring you declarative, Kubernetes-style APIs to cluster creation, configuration, and management. There are various resources about what this is on the internet, so I won’t give a detailed explanation here.
EKS Distro
EKS Distro is a Kubernetes distribution that AWS officially manages and supports. “Officially” here means that they actually use this in production, to provide the managed EKS. That also means if you use EKS Distro on your environment, it is what EKS provides, except the EC2/Fargate/VPC layers.
When I saw this for the first time, I thought this would be great to test your workload’s functionality and compatibility onto the EKS environment, but I haven’t used it yet like that because there was not an easy way to setup this. Now I can probably consider about it again.
So what is EKS Anywhere?
EKS Anywhere is a CLI tool that provides
- an option to setup EKS Distro on your (Docker|vSphere) environment.
※They may support more environments if there are demands - You can create/delete/upgrade EKS Distro benefiting from Cluster API using Kubernetes native management such as GitOps
The name “EKS Anywhere” sounds very similar to “ECS Anywhere”, but it actually is completely different and this is tbh confusing to me. So I hope this article helps some people who get confused by those two.