Nutanix Kubernetes Engine(NKE)で作成した Kubernetes クラスタに、作業用 Linux マシンから kubectl で接続してみます。
今回の内容です。
kubectl のインストール
作業用の Linux マシンには、NKE クラスタのバージョンにあわせて、v1.26.8 の kubectl をインストールしておきます。
インストール先のディレクトリを作成しておきます。
$ mkdir bin
PATH 環境変数に追加しておきます。
$ export PATH=$(pwd)/bin:$PATH
kubectl v1.26.8 をダウンロードします。
$ curl -s -o $(pwd)/bin/kubectl -L https://storage.googleapis.com/kubernetes-release/release/v1.26.8/bin/linux/amd64/kubectl
実行パーミッションを追加(+x)しておきます。
$ chmod +x $(pwd)/bin/kubectl
kubectl が実行できるようになったことを確認しておきます。
$ kubectl version --short --client Flag --short has been deprecated, and will be removed in the future. The --short output will become the default. Client Version: v1.26.8 Kustomize Version: v4.5.7
kubeconfig の入手
Prism Central の NKE 管理画面から、NKE クラスタの kubeconfig ファイルを入手します。
Prism Central の「Kubernetes Management」→「Clusters」画面で、NKE クラスタの名前(nke-02)をクリックします。
「Download Kubeconifg」をクリックします。
「Copy the command to clipboard」をクリックすると、OS のクリップボードに長いコマンドラインが格納されます。これは、下記のような内容です。
- Base64 エンコードされた kubeconfig をデコードして、ファイルに保存する。
ファイル名は、<NKE クラスタ名>.cfg で、今回は ./nke-02.cfg - 環境変数に、保存したファイルのパスを追加する。
export KUBECONFIG=$(pwd)/nke-02.cfg
ちなみに、「Download」をクリックすると、kubeconfig ファイルそのものを入手できます。
kubectl を実行するマシン(今回は Linux)のターミナルに貼り付けます。
これで、kubeconfig のファイル(nke-02.cfg)が作成されました。
$ ls bin nke-02.cfg
KUBECONFIG 環境変数にも kubeconfig ファイルのパスが格納されます。
$ echo $KUBECONFIG /home/gowatana/demo-nke/nke-02.cfg
kubectl から NKE クラスタへのアクセス確認
kubectl で、配置した kubeconfig ファイルを指定して実行すると、NKE クラスタにアクセスできます。
$ kubectl --kubeconfig=nke-02.cfg get nodes NAME STATUS ROLES AGE VERSION nke-02-55946c-master-0 Ready control-plane,master 21h v1.26.8 nke-02-55946c-worker-0 Ready node 21h v1.26.8
KUBECONFIG 環境変数 が設定されているので、kubeconfig を指定しなくても NKE クラスタにアクセスできます。
$ kubectl get nodes NAME STATUS ROLES AGE VERSION nke-02-55946c-master-0 Ready control-plane,master 21h v1.26.8 nke-02-55946c-worker-0 Ready node 21h v1.26.8
補足
ちなみに、ここで設定された環境変数(KUBECONFIG と PATH)は一時的な設定なので、再ログイン後でも使用できるように設定を永続化したい場合は .bash_profile などに追記しておく必要があります。
Kubernetes の様子の確認については、下記もどうぞ。
以上。