vSphere 8.0 U3 の Local Consumption Interface(LCI)では、vSphere Client から Tanzu Kubernetes Grid(TKG)クラスタを作成できます。今回は、従来どおり kubectl を使用して YAML ファイルから TKG クラスタを作成してみます。
前回はこちら。
今回の内容です。
1. TKG クラスタの YAML ファイルの用意
今回は、Local Consumption Interface(LCI)で提供される TKG クラスタ作成の画面から、YAML ファイルを用意してみます。
LCI は、以前の投稿で有効化してあります。
そして、前回の TKG クラスタ作成の手順を、作成開始の直前まで進めます。
vSphere 名前空間の「リソース」タブ → vSphere 名前空間名の配下にある「Tanzu Kubernetes Grid」の「OPEN」を開きます。
「Tanzu Kubernetes Grid service」の画面が開くので、「CREATE」をクリックします。
「1. Configuration Type」では、前回と同様にデフォルトのまま「NEXT」をクリックします。
- Cluster Type: ClusterClass API
- Configuration Type: Default Configuration
この画面で、すでに画面右側に TKG クラスタの YAML が表示されていますが、せっかくなので次の画面に進めておきます。
「Download all YAMLs to a .zip」というボタンがありますが、どういうわけか動作しなかったので・・・
隣にある「Copy content to Clipboard」をクリックしてコピーしておきます。
コピーした YAML を、kubectl を実行するマシンにファイルとして保存しておきます。今回は、下記のように保存してあります。
tkg-cluster-01.yml
- L4, L7, L30: 自動生成された YAML では、クラスタ名が tkg-cluster-c6bj だったので tkg-cluster-01 に変更
vSphere Client の TKG 作成画面は、キャンセル ボタンが見あたらなかったので適当に画面遷移して抜けます。
ちなみに、ブレッドクラム リストっぽい vSphere 名前空間の名前(例では demo-ns-01)をクリックすると、下記のような Discard 確認画面が出たりします。この場合、TKG 作成のウィザードをキャンセルするのは「キャンセル」ではなく「DISCARD」です。
2. kubectl の準備
今回は、スーパーバイザー制御プレーンからダウンロードした kubectl と vSphere Plug-in を利用します。
ひとつ前の vSphere バージョンの投稿ですが、手順はまったく同じです。
vCenter Server 8.0 U3 の kubectl バージョンです。
$ kubectl version --client Client Version: v1.28.3+vmware.wcp.1 Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
kubectl の vSphere Plug-in のバージョンです。
$ kubectl vsphere version kubectl-vsphere: version 0.1.9, build 23754142, change 13167650
3. TKG クラスタの作成(kubectl apply)
TKG クラスタの作成手順も、vSphere 8.0 U2 のころと同様です。
kubectl で、スーパーバイザーにログインします。
- 192.168.131.34 は、スーパーバイザー制御プレーンの IP アドレスです。
$ kubectl vsphere login --server=192.168.131.34 -u administrator@vsphere.local --insecure-skip-tls-verify
コンテキストを、vSphere 名前空間(前回作成した demo-ns-01)のものに切り替えます。
$ kubectl config use-context demo-ns-01
kubectl apply で、YAML ファイルを指定して TKG クラスタを作成します。
$ kubectl apply -f tkg-cluster-01.yml
4. 作成された TKG クラスタの様子
kubectl で作成した TKG クラスタも、LCI の画面に表示されました。
vSphere Client から作成したときと同様に、TKG クラスタの情報も確認できます。
そして、この画面の「DOWNLOAD KUBECONFIG FILE」リンクからダウンロードした kubeconfig ファイルで TKG クラスタに接続できます。ちなみに、従来の kubectl vsphere login でも接続できます。
$ kubectl --kubeconfig=tkg-cluster-01-kubeconfig.yaml get nodes NAME STATUS ROLES AGE VERSION tkg-cluster-01-kv4qc-dt84g Ready control-plane 28h v1.29.4+vmware.3-fips.1 tkg-cluster-01-tkg-cluster-01-nodepool-c6ktt-4hh86-hzb5h Ready <none> 28h v1.29.4+vmware.3-fips.1
以上、vSphere 8.0 U3 での kubectl での TKG クラスタ作成でした。