Tanzu Mission Control Self-Managed(TMC-SM)に、Kubernetes クラスタを登録してみます。
- 登録する Kubernetes クラスタ
- TMC-SM への Kubernetes クラスタ登録
- TMC-SM に登録した Workload Cluster の様子
- TMC-SM からの Kubernetes クラスタ登録解除
TMC-SM は、下記のように構築してあります。
登録する Kubernetes クラスタ
今回は、Tanzu Kubernetes Grid(TKG)の Workload Cluster を登録します。
$ kubectl get nodes NAME STATUS ROLES AGE VERSION tkg22wc03-m4mmh-4m5r9 Ready control-plane 29h v1.25.7+vmware.2 tkg22wc03-m4mmh-6mdx6 Ready control-plane 29h v1.25.7+vmware.2 tkg22wc03-m4mmh-l7x76 Ready control-plane 29h v1.25.7+vmware.2 tkg22wc03-md-0-dgf2s-7cf689998f-c4bt8 Ready <none> 29h v1.25.7+vmware.2 tkg22wc03-md-1-4z6f6-5ccbfc48bc-vgq8t Ready <none> 29h v1.25.7+vmware.2 tkg22wc03-md-2-m9gnx-7ccdd468dd-kvdw9 Ready <none> 29h v1.25.7+vmware.2
本来であれば、TKG Workload Cluster は、先に TMC に Management Cluster 登録したうえで登録します。しかし、このラボでは Management Cluster 作成時に TMC-SM の CA 証明書を配置していなかったので、とりあえず CA 証明書を配置してある Workload Cluster を登録してみます。
TMC-SM への Kubernetes クラスタ登録
TMC-SM の「Clusters」画面で、「ATTACH CLUSTER」をクリックします。
TMC-SM に登録する(TMC-SM で表示する)Kubernetes クラスタの名前を入力し、所属させるクラスタ グループを選択して「NEXT」をクリックします。
- Cluster name: tmc22wc03
- Cluster group: default
TMC に登録するための kubectl コマンド ラインが表示されます。
kubectl を実行するマシンには、まだ TMC-SM の CA 証明書(今回は cert-manager の CA)を配置していないので、ひとまず YAML ファイルを curl でダウンロードします。
curl -k で、証明書エラーを無視して YAML ファイルをダウンロードします。ちなみに id= の部分は、登録のたびに変更されます。
$ curl -k --url "https://tmc.go-lab.jp/installer?id=768a2c5ba0c1712a36d9a0cac460c3163f13e9a042242f2c0532eee7507f333c&source=attach" -o tmc_tkg22wc03_register.yml
YAML ファイルを適用します。
$ kubectl apply -f tmc_tkg22wc03_register.yml namespace/vmware-system-tmc created configmap/stack-config created secret/tmc-access-secret created serviceaccount/tmc-bootstrapper created clusterrole.rbac.authorization.k8s.io/tmc-bootstrapper created clusterrolebinding.rbac.authorization.k8s.io/tmc-bootstrapper created job.batch/tmc-bootstrapper created
vmware-system-tmc Namespace で Pod の起動が開始されます。このあと、さらに Pod が起動されますが、TMC-SM の画面で手順を進めます。
$ kubectl get pods -n vmware-system-tmc NAME READY STATUS RESTARTS AGE agent-updater-68589d556d-hf9dr 1/1 Running 0 38s extension-manager-7466d47b7b-pmrld 1/1 Running 0 38s extension-updater-848f59f69-g47kr 1/1 Running 0 41s tmc-bootstrapper-g4t2v 0/1 Completed 0 101s
TMC-SM の画面で「VERIFY CONNECTION」をクリックすると Success! になるので、「VIEW YOUR CLUSTER」をクリックします。
登録処理中の Kubernetes クラスタのステータス(Health)が確認できるので、少し待って更新ボタンをクリックします。
登録した Kubernetes クラスタが Healty になりました。
Kubernetes ノードのリソース不足のためか Pod 起動の処理は完了していませんが、Workload Cluster では下記のように Pod が起動されます。
$ kubectl get pods -n vmware-system-tmc NAME READY STATUS RESTARTS AGE agent-updater-68589d556d-hf9dr 1/1 Running 0 38m agentupdater-workload-28190856-sf6fs 0/1 Completed 0 26s cluster-auth-pinniped-f8bf8498d-fh9d4 1/1 Running 0 37m cluster-auth-pinniped-f8bf8498d-mcpls 1/1 Running 0 37m cluster-auth-pinniped-kube-cert-agent-7798d7989-r6pl4 1/1 Running 0 37m cluster-health-extension-9985ff4c7-h74nh 1/1 Running 0 37m cluster-secret-77fdb78d4b-zplrx 1/1 Running 0 37m extension-manager-7466d47b7b-pmrld 1/1 Running 0 38m extension-updater-848f59f69-g47kr 1/1 Running 0 38m gatekeeper-operator-manager-54ff445b87-7kpn6 1/1 Running 0 37m inspection-extension-67ddfcf7db-zgxl9 1/1 Running 0 37m intent-agent-844cf8557b-jwf8h 1/1 Running 0 37m logs-collector-extension-manager-20230807230004-rljvv 0/1 Completed 0 36m logs-collector-gatekeeper-operator-20230807230004-s7rmh 0/1 Completed 0 36m logs-collector-policy-insight-extension-20230807230004-bl7v6 0/1 Completed 0 36m logs-collector-policy-sync-extension-20230807230004-hclxs 0/1 Completed 0 36m logs-collector-tmc-observer-20230807230004-x9d5n 0/1 Completed 0 36m package-deployment-c79cf94cd-2gzlj 1/1 Running 0 37m policy-insight-extension-manager-6c88cfb86f-4gsth 1/1 Running 0 37m policy-sync-extension-8796568b9-8hjs6 1/1 Running 0 36m sync-agent-595d68d654-m9vcc 1/1 Running 0 36m tmc-observer-698b68fbff-rt4xc 1/1 Running 0 36m
TMC-SM に登録した Workload Cluster の様子
Kubernetes クラスタのノード一覧です。
Namespace の一覧です。
Workload タブでは、Deployment / ReplicaSet / StatefulSet / DaemonSet などが確認できます。
Add-ons タブでは、tanzu package installed list などで確認できるパッケージの一覧を表示できます。
Inspections タブの様子です。
Event タブの様子です。
クラスタの一覧では、vSphere のマークが表示されたりします。
TMC-SM からの Kubernetes クラスタ登録解除
登録してある Kubernetes クラスタを Detach してみます。
確認のためにクラスタの名前を入力して、「DETACH」をクリックします。
Detatch 処理が開始されます。
少し待って画面更新すると、Kubernetes クラスタが表示されなくなります。
そして Kubernetes クラスタ側でも、TMC-SM 関連の Pod は削除されます。
$ kubectl get pods -n vmware-system-tmc No resources found in vmware-system-tmc namespace.
以上、TMC-SM で Kubernetes クラスタを登録 / 登録解除してみる話でした。