CloudShellをいい感じにセットアップする

CloudShellをいい感じにセットアップするメモ。随時更新予定。

ツールの導入。

sudo yum -y install bash-completion
mkdir -p $HOME/bin
curl -L "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C $HOME/bin
curl -L -o $HOME/bin/kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.8/2020-09-18/bin/linux/amd64/kubectl
chmod +x $HOME/bin/kubectl
git clone https://github.com/jonmosco/kube-ps1.git ~/.kube-ps1
git clone https://github.com/ahmetb/kubectx.git ~/.kubectx
curl -L -o $HOME/bin/stern https://github.com/wercker/stern/releases/download/1.11.0/stern_linux_amd64
chmod +x $HOME/bin/stern

.bashrcの編集。

export PATH=$HOME/bin:$PATH

alias k="kubectl"

if yum list installed bash-completion > /dev/null 2>&1; then
    source <(kubectl completion bash)
    source <(eksctl completion bash)
    source ~/.kubectx/completion/kubens.bash
    source ~/.kubectx/completion/kubectx.bash
    complete -o default -F __start_kubectl k
else
    echo "Please install bash-completion."
    echo ""
    echo "    sudo yum install -y bash-completion"
    echo ""
fi

source ~/.kube-ps1/kube-ps1.sh
function get_cluster_short() {
  echo "$1" | cut -d . -f1
}
KUBE_PS1_CLUSTER_FUNCTION=get_cluster_short
KUBE_PS1_SUFFIX=') '
PS1='$(kube_ps1)'$PS1

export PATH=~/.kubectx:$PATH