vm.gowatana.jp

NEOにほんごVMware(仮)

Tanzu Mission Control Self-Managed の Kubernetes クラスタ登録(Attach / Detach)

Tanzu Mission Control Self-Managed(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 クラスタを登録 / 登録解除してみる話でした。