Configure aws credentials:
brew install awscli
aws configure
Install eksctl and create cluster:
brew install weaveworks/tap/eksctl
eksctl create cluster
Create default storage class:
# https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html
kubectl apply -f -<<EOF;
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: gp2
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
reclaimPolicy: Retain
EOF
kubectl patch storageclass gp2 -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
Install Helm
brew install kubernetes-helm
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller
Periodically check for updates to networking stack: