Skip to content

Instantly share code, notes, and snippets.

@fincd-aws
Forked from finchd/setup-local-k8s-tools.sh
Last active August 28, 2023 22:27
Show Gist options
  • Save fincd-aws/b0bdda615bc4ca5eaf4b467d1e246521 to your computer and use it in GitHub Desktop.
Save fincd-aws/b0bdda615bc4ca5eaf4b467d1e246521 to your computer and use it in GitHub Desktop.
EKS K8s Cloud9 Setup
#!/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"
pushd ~/.local/bin #gets created by pip
# Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> 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/linux/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/linux/amd64/kubectl \
&& chmod 700 kubectl \
&& echo "installed kubectl"
#kubectx/kubens
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.10/kustomize_1.0.10_linux_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/<thing>:$KUBECONFIG" >> ~/.bashrc
echo "remember to source ~/.bashrc"
## END
popd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment