【kubernetes】EKSで使用するkubernetes環境構築【Mac】
どもども、キャメルクラッチオーケストラというブランドの個性的なデザインに心打たれたsaisaiです。
最近AWS EKS入門しようと思いAWSの公式チュートリアルを受講しました。
その講義ではCloud9をEKS操作環境としていましたが、これからもEKSに触れていきたいのにその都度Cloud9を立ち上げるのもなんだか嫌だなあと思いMacのローカルに同じ環境を構築したので手順を残しておこうと思います。
ここでのポイントはiOSであるということとモデルがMacBook Pro (13-inch, 2020)なのでシェルがbashではなくzshである点です。
また、予め、homebrewはインストール済みという前提ですので、まだの方はインストールしておいてください!もちろん実運用の際はdockerやdocker-composeが必要になりますのでこちらもインストールをしてきましょう〜。
それでは構築していきます。
構築開始!!
さくさくいきましょう!まずは"eksctl"をインストールします。コマンドライン上でEKSを操作できるコマンドです。
$ curl -L "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
バージョン確認しつつ無事ダウンロードされているかを確認しましょう。
$ eksctl version
バージョンが表示されればeksctlがバッチリインストールされています!
続いてkubectlをインストールします。こちらkubernetesを操作するコマンドになります。AWS講座ではlinuxに対応したものでしたが今回はiOSに対応したものをインストールします。
$ curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/darwin/amd64/kubectl
実行権限を付与しましょう
$ sudo chmod +x /usr/local/bin/kubectl
バージョン確認しつつ無事ダウンロードされているかを確認しましょう。
$ kubectl version --short --client
バージョンが表示されればkubectlがバッチリインストールされています!
kubectl先輩はこれからよくお世話になると思いますので今のうちにaliasを設定して楽に実行できるようにしておきましょう。
$ vi .zshrc
$ alias k="kubectl"
※.zshrcの再反映は後ほど行います!
続いてzsh-completionsをインストールしていきます。zshでのコマンド入力補助、予測変換補助を行ってくれます。必須では無いですがあると結構便利です。
$ brew install zsh-completions
$ sudo vi .zshrc
(お好みで有効化してください)
# 補完機能を有効にする
autoload -Uz compinit
compinit -u
if [ -e /usr/local/share/zsh-completions ]; then
fpath=(/usr/local/share/zsh-completions $fpath)
fi
# 補完で小文字でも大文字にマッチさせる
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
# 補完候補を詰めて表示
setopt list_packed
# 補完候補一覧をカラー表示
autoload colors
zstyle ':completion:*' list-colors ''
# コマンドのスペルを訂正
setopt correct
$ rm -f ~/.zcompdump; compinit
次にkube-ps1をインストールします。kubectlのコンテキスト、Namespaseをプロンプトに表示します。便利です。
$ git clone https://github.com/jonmosco/kube-ps1.git ~/.kube-ps
$ vi .zshrc
#kube-ps1
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
kubeoff #デフォルトではオフにしておきます。必要に応じてkubeonで表示するようにしています。
#ON=kubeon OFF=kubeoff
続いてkubectxとcubensをインストールします。コンテキストやNamespaceの切り替えを容易に行うことができます。
$ git clone https://github.com/ahmetb/kubectx.git ~/.kubectx
$ vi .zshrc
#kubectx / kubens
export PATH=~/.kubectx:$PATH
.zshrcの書き換えはここまでです。再反映しておきましょう。
$ source ~/.zshrc
最後にsternをインストールします。コンテナを跨いだログ管理などができてこちらも便利です。ぜひ。
$ brew install stern
以上です!
最後に
これでこれからバリバリkubernetesやEKSと戯れることができます!頑張るぞ!
…kubernetesムズカシイ。
ここまで読んでいただきありがとうございます!
↓オススメ教材