Noob's guide for creating an EKS cluster

.. and connecting to it from your mac!

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: