NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix Kubernetes Engine クラスタに接続してみる。(kubectl)

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 の様子の確認については、下記もどうぞ。

以上。

©2023 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。