first, create an EKS cluster through the aws console
TODO: put images and stuff here
now you need to install kubectl with homebrew
brew install kubectl
# if you're a HOMEBREW_NO_AUTO_UPDATE enjoyer
HOMEBREW_NO_AUTO_UPDATE=1 brew install kubectl
assuming you have the aws cli set up on your machine, we need to update our local kubernetes configuration file; basically linking the cluster with our kubernetes cli.
aws eks update-kubeconfig --region us-east-2 --name my-cluster
this command will create/modify the kubernetes config file which lives in ~/.kube/config.
if you don't have the aws cli set up on your machine, you can follow the instructions here
now check that it shows information for your cluster
kubectl cluster-info
you should see something like:
Kubernetes control plane is running at https://SOMETHINGSOMETHING.eks.amazonaws.com
CoreDNS is running at https://SOMETHINGSOMETHING.eks.amazonaws.com/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
but if you see something like:
error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"
that means you probably have an old version of the aws cli on your mac. all you need to do is install a newer version. following the directions here
after you upgrade the aws cli, make sure you run the update-kubeconfig command shown above.
TODO: User or role that created EKS cluster is the only IAM entity that has access to EKS cluster. Kubernetes has its own permissions model, so you need to add additional users to your EKS cluster. You may edit aws-auth configmap to look like this:
now we need to add a node group to our cluster.
TODO: this happens in the aws console. show images and stuff.
let's spin up a pod by applying a basic hello world kubernetes manifest (.yml) file.
TODO: