Cloud9 環境を起動した後 EKS 向けに環境を整えるメモ。
ディスクサイズを拡張する方法は以下のドキュメントを参照。
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install . ~/.bashrc
AWS_REGION="ap-northeast-1" aws configure set default.region ${AWS_REGION}
Cloud9 の一時的なクレデンシャルを無効化する (IAM ロールがアタッチされていることが前提) 。
aws cloud9 update-environment --environment-id $C9_PID --managed-credentials-action DISABLE rm -vf ${HOME}/.aws/credentials
eksctl を導入する。
curl -L "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp sudo mv /tmp/eksctl /usr/local/bin
kubectl を導入する。
sudo curl -L -o /usr/local/bin/kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.10/2023-01-30/bin/linux/amd64/kubectl sudo chmod +x /usr/local/bin/kubectl
helm を導入する。
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helmfile を導入する。
HELMFILE_VERSION=$(curl -s "https://api.github.com/repos/helmfile/helmfile/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/' ) curl -L "https://github.com/helmfile/helmfile/releases/download/v${HELMFILE_VERSION}/helmfile_${HELMFILE_VERSION}_linux_amd64.tar.gz" | tar xz -C /tmp sudo mv /tmp/helmfile /usr/local/bin
helmfile を初期化する。
helmfile init --force
jq などいくつかのツールを導入する。
sudo yum -y install jq bash-completion tree gettext moreutils
各種ツールの補完を有効にする。
sudo curl -L -o /etc/bash_completion.d/docker https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker kubectl completion bash > kubectl_completion sudo mv kubectl_completion /etc/bash_completion.d/kubectl eksctl completion bash > eksctl_completion sudo mv eksctl_completion /etc/bash_completion.d/eksctl helm completion bash > helm_completion sudo mv helm_completion /etc/bash_completion.d/helm helmfile completion bash > helmfile_completion sudo mv helmfile_completion /etc/bash_completion.d/helmfile
エイリアスを設定する。
cat <<"EOT" >> ${HOME}/.bashrc alias k="kubectl" complete -o default -F __start_kubectl k alias ek="eksctl" complete -o default -F __start_eksctl ek EOT
kube-ps1 を導入する。
git clone https://github.com/jonmosco/kube-ps1.git ~/.kube-ps1 cat <<"EOT" >> ~/.bashrc 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 EOT
kubectx/kubens を導入する。
git clone https://github.com/ahmetb/kubectx.git ~/.kubectx sudo ln -sf ~/.kubectx/completion/kubens.bash /etc/bash_completion.d/kubens sudo ln -sf ~/.kubectx/completion/kubectx.bash /etc/bash_completion.d/kubectx cat <<"EOT" >> ~/.bashrc export PATH=~/.kubectx:$PATH EOT
stern を導入する。
STERN_VERSION=$(curl -s "https://api.github.com/repos/stern/stern/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/' ) curl -L "https://github.com/stern/stern/releases/download/v${STERN_VERSION}/stern_${STERN_VERSION}_linux_amd64.tar.gz" | tar xz -C /tmp sudo mv /tmp/stern /usr/local/bin
設定が完了したら、ターミナルを開き直すこと。