#!/usr/bin/env bash ## pre-configure opsys=$(uname -s | tr '[:upper:]' '[:lower:]') ## Install pip install -q --user --upgrade pip awscli aws-shell cfn-flip yamllint \ && echo "installed user-level pip things: aws-shell awscli cfn-flip yamllint" mkdir ~/.local/bin #doesn't get made by `pip --user` if your python comes from brew? pushd ~/.local/bin #now this should work # Getting Started with Amazon EKS - Install and Configure kubectl for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/aws-iam-authenticator" \ && chmod 700 aws-iam-authenticator \ && echo "installed aws-iam-authenticator" curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/kubectl" \ && chmod 700 kubectl \ && echo "installed kubectl" #kubectx/kubens #os independent bash only curl -so kubectx https://raw.githubusercontent.com/ahmetb/kubectx/master/kubectx \ && chmod 700 kubectx \ && echo "installed kubectx" curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \ && chmod 700 kubens \ && echo "installed kubens" # Kustomize install script #opsys=linux # or darwin, or windows # //TODO: check for rate-limiting by GitHub API, lol. #curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/latest |\ # grep browser_download |\ # grep -i ${opsys} |\ # cut -d '"' -f 4 |\ # xargs curl -s -O -L curl -s -O -L "https://github.com/kubernetes-sigs/kustomize/releases/download/v1.0.11/kustomize_1.0.11_${opsys}_amd64" mv kustomize_*_${opsys}_amd64 ~/.local/bin/kustomize chmod u+x ~/.local/bin/kustomize \ && echo "installed kustomize" # Helm pushd ~/ curl -s -O -L "https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-${opsys}-amd64.tar.gz" tar xz -f helm-v2.12.1-${opsys}-amd64.tar.gz -C /tmp mv /tmp/${opsys}-amd64/helm ~/.local/bin/ ~/.local/bin/helm init --client-only rm -rfv helm-v2.11.0-${opsys}-amd64.tar.gz popd # eksctl eksctl.io written by weaveworks curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${opsys}_amd64.tar.gz" | tar xz -C /tmp mv /tmp/eksctl ~/.local/bin ## Config Files if [ ! -d ~/.kube ]; then mkdir ~/.kube; fi # **IF** you made the cluster with this user # aws eks update-kubeconfig --name cluster_name # else #echo "export KUBECONFIG=~/.kube/:$KUBECONFIG" >> ~/.bashrc echo "remember to source ~/.bashrc" ## END popd