I’ve been playing lately with Amazon EKS Anywhere, the Kubernetes distribution used by EKS that you can install in your own premises. It works pretty well and makes for a very decent alternative to Minikube, K3s and other similar “Kubernetes-in-your-laptop” packages.
Here are the steps I followed in my Ubuntu box:
Install tools
Very simple to install, just curl
a few tools and you’re done.
$ curl "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" --silent --location | tar xz -C /tmp
$ mv /tmp/eksctl ~/.local/bin
$ export EKSA_RELEASE="0.5.0" OS="$(uname -s | tr A-Z a-z)"
$ curl "https://anywhere-assets.eks.amazonaws.com/releases/eks-a/1/artifacts/eks-a/v${EKSA_RELEASE}/${OS}/eksctl-anywhere-v${EKSA_RELEASE}-${OS}-amd64.tar.gz" --silent --location | tar xz ./eksctl-anywhere
$ mv ./eksctl-anywhere ~/.local/bin
Create cluster
Once you have installed it, very easy to create a new cluster:
$ eksctl anywhere generate clusterconfig dev --provider docker > dev.yaml
$ eksctl anywhere create cluster -f dev.yaml
Deploy app
And of course, you can launch an app to see it in action:
$ kubectl apply --kubeconfig ./dev/dev-eks-a-cluster.kubeconfig -f "https://anywhere.eks.amazonaws.com/manifests/hello-eks-a.yaml"
$ kubectl port-forward svc/hello-eks-a 3000:80 --kubeconfig ./dev/dev-eks-a-cluster.kubeconfig
$ curl localhost:3000
$ k9s --kubeconfig dev/dev-eks-a-cluster.kubeconfig
Delete Cluster
Finally, some cleanup:
$ eksctl anywhere delete cluster dev