Tanzu Kubernetes Grid Serviceのアップグレード

## はじめに

vSphere 8.0u3からvSphere with Tanzuと呼ばれていた機能は、vSphere Iaas Control PlaneとTanzu Kubernetes Grid Serviceに分離されました。vSphere IaaS Control PlaneはvSphereの中でSupervisor Clusterを提供し、Tanzu Kubernetes Grig ServiceはvSphere IaaS Control Plane上のサービスとして提供されます。

[VMware vSphere IaaS 制御プレーン 8.0 リリース ノート](https://docs.vmware.com/jp/VMware-vSphere/8.0/rn/vmware-vsphere-with-tanzu-80-release-notes/index.html)

> - Tanzu Kubernetes Grid Service for vSphere
> スーパーバイザー サービスとしての TKG サービス – このリリースでは、TKG サービス コンポーネントが vCenter Server から分離され、vCenter Server およびスーパーバイザー リリースとは関係なく更新および管理できるスーパーバイザー サービスとしてパッケージ化されています。TKG サービスのリリース ノートは[こちら](https://docs.vmware.com/en/VMware-Tanzu-Kubernetes-Grid-Service/3/rn/vmware-tanzu-kubernetes-grid-service-release-notes/index.html)で確認できます。

本記事では、vSphere IaaS Control Plane上のTanzu Kubernetes Grid Serviceのアップグレードの様子を紹介します。

## vSphere IaaS Control Planeの有効化

vSphere IaaS Control Planeを有効化すると、Supervisor Clusterが構成されTanzu Kubernetes Grid ServiceとVelero vSphere Operatorが利用可能な状態で構成されます。

vSphere 8.0u3からは、これらのサービスが利用するネームスペースがvSphere Client上から確認できるようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/2520db85-10e3-7e39-3be8-2d5dc0ebcd1d.png)

Supervisor ClusterのTKG用のネームスペースを確認すると、Cluster APIに必要なCAPI/CAPV/CAPW等がPodとして実行されていることを確認できます。

```bash
$ kubectl get pod -n svc-tkg-domain-c42343
NAME                                                             READY   STATUS    RESTARTS   AGE
capi-controller-manager-546bb5d674-c4qr8                         2/2     Running   0          2d4h
capi-controller-manager-546bb5d674-q57v9                         2/2     Running   0          2d4h
capi-kubeadm-bootstrap-controller-manager-6699b999b7-cwv7f       2/2     Running   0          2d4h
capi-kubeadm-bootstrap-controller-manager-6699b999b7-vdhmg       2/2     Running   0          2d4h
capi-kubeadm-control-plane-controller-manager-577d49777b-6lv6n   2/2     Running   0          2d4h
capi-kubeadm-control-plane-controller-manager-577d49777b-gxlnb   2/2     Running   0          2d4h
capv-controller-manager-8fb4d7fc8-bfklm                          1/1     Running   0          2d4h
capv-controller-manager-8fb4d7fc8-gbvjc                          1/1     Running   0          2d4h
capw-controller-manager-7f9cfcbbbd-h2q9g                         2/2     Running   0          2d4h
capw-webhook-576bf68fd7-tds4q                                    2/2     Running   0          2d4h
masterproxy-tkgs-plugin-44mxg                                    1/1     Running   0          2d4h
masterproxy-tkgs-plugin-rzshb                                    1/1     Running   0          2d4h
masterproxy-tkgs-plugin-wlslg                                    1/1     Running   0          2d4h
tanzu-addons-controller-manager-74889c5586-sb6d2                 1/1     Running   0          2d4h
tanzu-auth-controller-manager-6447c9fb5d-c9fgw                   1/1     Running   0          2d4h
tanzu-capabilities-controller-manager-74f4dcf8b4-6bssg           1/1     Running   0          2d4h
tanzu-featuregates-controller-manager-f8545c6d6-c2dnt            1/1     Running   0          2d4h
tkgs-plugin-server-74f7465fb-kp65z                               1/1     Running   0          2d4h
tkgs-plugin-server-74f7465fb-zs6qq                               1/1     Running   0          2d4h
tkr-conversion-webhook-manager-755df78dbf-fs9mq                  1/1     Running   0          2d4h
tkr-resolver-cluster-webhook-manager-5f68f5df4d-92plm            1/1     Running   0          2d4h
tkr-status-controller-manager-7f5c967788-fz7xk                   1/1     Running   0          2d4h
upgrade-compatibility-service-5cd87fdc9b-w7zkn                   2/2     Running   0          2d4h
vmware-system-tkg-controller-manager-745d855655-9d6vf            2/2     Running   0          2d4h
vmware-system-tkg-controller-manager-745d855655-x562w            2/2     Running   0          2d4h
vmware-system-tkg-state-metrics-7d495495f6-4hfs6                 2/2     Running   0          2d4h
vmware-system-tkg-state-metrics-7d495495f6-mspz7                 2/2     Running   0          2d4h
vmware-system-tkg-webhook-6987d754c-fbghx                        2/2     Running   0          2d4h
vmware-system-tkg-webhook-6987d754c-v5vvd                        2/2     Running   0          2d4h
```

これらのコンポーネントはkappによって管理されており、インストールされているパッケージは`packageinstalls.packaging.carvel.dev`リソースとして確認できます。

```bash
$ kubectl get packageinstalls.packaging.carvel.dev -n svc-tkg-domain-c42343
NAME                                      PACKAGE NAME                                         PACKAGE VERSION   DESCRIPTION           AGE
cluster-api-provider-wcp                  capw.tkg.vsphere.vmware.com                          1.4.2             Reconcile succeeded   2d4h
tanzu-addons-manager                      addons-manager.tanzu.vmware.com                      0.33.1+vmware.1   Reconcile succeeded   2d4h
tanzu-auth                                tanzu-auth.tanzu.vmware.com                          0.33.1+vmware.1   Reconcile succeeded   2d4h
tanzu-capabilities                        capabilities.tanzu.vmware.com                        0.33.1+vmware.1   Reconcile succeeded   2d4h
tanzu-cliplugins                          cliplugins.tanzu.vmware.com                          0.33.1+vmware.1   Reconcile succeeded   2d4h
tanzu-cluster-api                         cluster-api.tanzu.vmware.com                         1.6.2+vmware.0    Reconcile succeeded   2d4h
tanzu-cluster-api-bootstrap-kubeadm       cluster-api-bootstrap-kubeadm.tanzu.vmware.com       1.6.2+vmware.0    Reconcile succeeded   2d4h
tanzu-cluster-api-control-plane-kubeadm   cluster-api-control-plane-kubeadm.tanzu.vmware.com   1.6.2+vmware.0    Reconcile succeeded   2d4h
tanzu-cluster-api-provider-vsphere        cluster-api-provider-vsphere.tanzu.vmware.com        1.9.2+vmware.0    Reconcile succeeded   2d4h
tanzu-featuregates                        featuregates.tanzu.vmware.com                        0.33.1+vmware.1   Reconcile succeeded   2d4h
tkg-controller                            gcc.tkg.vsphere.vmware.com                           3.8.0             Reconcile succeeded   2d4h
tkgs-config                               tkgs-config-vsphere.tanzu.vmware.com                 3.0.0             Reconcile succeeded   2d4h
tkr-service                               tkr-service.tanzu.vmware.com                         0.33.1+vmware.1   Reconcile succeeded   2d4h
upgrade-compatibility-service             ucs.tkg.vsphere.vmware.com                           1.2.0             Reconcile succeeded   2d4h
```

## Tanzu Kubernetes Grid Service 新バージョンパッケージの追加

スーパーバイザーサービス画面では、利用可能となっているVMサービス、Tanzu Kubernetes Grid Service、Velero vSphere Operatorがタイルとして表示されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/52104237-de43-8ad3-5c72-2fd2b0086f1a.png)

このスーパーバイザーサービス画面内の「使用可能なスーパーバイザーサービスをここで検出してダウンロードします。」クリックすると[以下のようなページ](https://vsphere-tmm.github.io/Supervisor-Services/)が開きます。このページではIaaS Control Plane上で利用可能な様々なサービスが提供されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/b9d568a7-6e14-0740-43fd-b395ebb23641.png)

2024年7月23日現在以下のパッケージが公開されています。

- TKG Service
- Consumption Interface
- vSAN Data Persistence Platform Services - MinIO, Cloudian and Dell ObjectScale
- Backup & Recovery Service - Velero
- Certificate Management Service - cert-manager
- Cloud Native Registry Service - Harbor
- Kubernetes Ingress Controller Service - Contour
- External DNS Service - ExternalDNS

上記に加えて、Supervisor Services Labs Catalogとして以下のパッケージも提供されています。

- ArgoCD Operator
- External Secrets Operator
- RabbitMQ Cluster Kubernetes Operator
- Redis Operator
- KEDA
- Grafana Operator

Workload管理の有効化によって構成されるTKG Serviceは3.0.0-embeddedとなっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/74b43e3a-7a2e-ad0a-9fe2-ecc6a30d4d06.png)

[上記サイト](https://vsphere-tmm.github.io/Supervisor-Services/)ではTKG Service v3.1.0が公開されており、v3.1.0はTKRv1.30に対応しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/12cad454-10fc-739d-e4ca-e0f8b631b946.png)

[TKG Service v3.1.0のリリースノート](https://docs.vmware.com/en/VMware-vSphere/8/rn/vmware-tanzu-kubernetes-grid-service-release-notes/index.html#TKG%20Service%203.1)

> TKG Service 3.1 includes the following new features:
>
> - Updates TKG Service components to support the TKr v1.30 release
> - Improvements to Kubectl and Tanzu CLI to identify legacy TKRs (refer to the documentation for more information about [TKr formats](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-tkg/GUID-B3122965-56DC-4D34-83E4-07032AFAB483.html#tkr-compatibility-with-vsphere-4))

上記ページで、TKG Service v3.1.0のリンクをクリックするとyamlファイルがダウンロードされます。このyamlファイルは以下のようなPacakgeリソース(packages.data.packaging.carvel.dev)のマニフェストファイルになっています。

```yaml
apiVersion: data.packaging.carvel.dev/v1alpha1
kind: Package
metadata:
  name: tkg.vsphere.vmware.com.3.1.0
  annotations:
    appplatform.vmware.com/compatibility-check_service: upgrade-compatibility-service
    appplatform.vmware.com/compatibility-check_port: "80"
    appplatform.vmware.com/compatibility-check_protocol: https
    appplatform.vmware.com/compatibility-check_url: ucs/v2/compatibility
    appplatform.vmware.com/compatibility-check_method: POST
    appplatform.vmware.com/compatibility-check_ca_secret: ucs-service-ca-cert
    appplatform.vmware.com/required_capability.0: TKG_SupervisorService_Supported
...
```

スーパーバイザークラスターでpackageリソースを確認すると`3.0.0-embedded`がパッケージとして存在し、packageinstallsを確認すると、`tkgs-config`として`tkgs-config-vsphere.tanzu.vmware.com 3.0.0`が有効になっています。

```bash
$ kubectl get package -n svc-tkg-domain-c42343 -l appplatform.vmware.com/serviceId=tkg
NAME                                    PACKAGEMETADATA NAME     VERSION          AGE
tkg.vsphere.vmware.com.3.0.0-embedded   tkg.vsphere.vmware.com   3.0.0-embedded   53h28m21s
```

```bash
$ kubectl get packageinstalls -n svc-tkg-domain-c42343
NAME                                      PACKAGE NAME                                         PACKAGE VERSION   DESCRIPTION           AGE
cluster-api-provider-wcp                  capw.tkg.vsphere.vmware.com                          1.4.2             Reconcile succeeded   2d5h
tanzu-addons-manager                      addons-manager.tanzu.vmware.com                      0.33.1+vmware.1   Reconcile succeeded   2d5h
tanzu-auth                                tanzu-auth.tanzu.vmware.com                          0.33.1+vmware.1   Reconcile succeeded   2d5h
tanzu-capabilities                        capabilities.tanzu.vmware.com                        0.33.1+vmware.1   Reconcile succeeded   2d5h
tanzu-cliplugins                          cliplugins.tanzu.vmware.com                          0.33.1+vmware.1   Reconcile succeeded   2d5h
tanzu-cluster-api                         cluster-api.tanzu.vmware.com                         1.6.2+vmware.0    Reconcile succeeded   2d5h
tanzu-cluster-api-bootstrap-kubeadm       cluster-api-bootstrap-kubeadm.tanzu.vmware.com       1.6.2+vmware.0    Reconcile succeeded   2d5h
tanzu-cluster-api-control-plane-kubeadm   cluster-api-control-plane-kubeadm.tanzu.vmware.com   1.6.2+vmware.0    Reconcile succeeded   2d5h
tanzu-cluster-api-provider-vsphere        cluster-api-provider-vsphere.tanzu.vmware.com        1.9.2+vmware.0    Reconcile succeeded   2d5h
tanzu-featuregates                        featuregates.tanzu.vmware.com                        0.33.1+vmware.1   Reconcile succeeded   2d5h
tkg-controller                            gcc.tkg.vsphere.vmware.com                           3.8.0             Reconcile succeeded   2d5h
tkgs-config                               tkgs-config-vsphere.tanzu.vmware.com                 3.0.0             Reconcile succeeded   2d5h
tkr-service                               tkr-service.tanzu.vmware.com                         0.33.1+vmware.1   Reconcile succeeded   2d5h
upgrade-compatibility-service             ucs.tkg.vsphere.vmware.com                           1.2.0             Reconcile succeeded   2d5h

$ kubectl get packageinstalls.packaging.carvel.dev -n svc-tkg-domain-c42343 tkgs-config
NAME          PACKAGE NAME                           PACKAGE VERSION   DESCRIPTION           AGE
tkgs-config   tkgs-config-vsphere.tanzu.vmware.com   3.0.0             Reconcile succeeded   2d5h
```

GUI上のTanzu Kubernetes Grid Serviceのアクションから「新規バージョンの追加」を選択し、ダウンロードしたマニフェストをアップロードします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/a417f2fb-38bd-9ea9-7ad2-22638e3c610c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/3ec71155-954a-aab2-4fa3-5fbff31b7132.png)

完了をクリックするとアクティブなバージョンが追加されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/0ccfd97b-7c17-182c-6b72-4fe496561e38.png)

packageリソースを確認すると3.0.0-embededに加えて、3.1.0が追加されています。

```bash
$ kubectl get package -n svc-tkg-domain-c42343 -l appplatform.vmware.com/serviceId=tkg
NAME                                    PACKAGEMETADATA NAME     VERSION          AGE
tkg.vsphere.vmware.com.3.0.0-embedded   tkg.vsphere.vmware.com   3.0.0-embedded   53h34m46s
tkg.vsphere.vmware.com.3.1.0            tkg.vsphere.vmware.com   3.1.0            1m33s
```

## Tanzu Kubernetes Grid Service 新バージョンパッケージへのアップグレード

利用可能な状態となっていますが、有効となっていないためv3.1.0を有効にするためアクションからサービスの管理」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/b7b099af-9f72-a75b-abd2-5b15e3f99832.png)

構成画面で、アップグレードするスーパーバイザークラスターを選択し、インストールバージョンとして`3.1.0`を指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/e7c73647-f356-fdbf-9f2d-907bac5a9f9e.png)

確認画面で対象のネームスペースを確認して、完了ボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27668/aca04e8a-83b0-1097-c3db-8a0d1b2c2da1.png)

新しいバージョンのTKG Serviceが有効化されるため、TKG用ネームスペースで実行されているCAPI/CAPV/CAPW等が新しいバージョンで再作成されます。

```bash
$ kubectl get pod -n svc-tkg-domain-c42343
NAME                                                             READY   STATUS              RESTARTS   AGE
capi-controller-manager-546bb5d674-c4qr8                         2/2     Running             0          2d5h
capi-controller-manager-546bb5d674-q57v9                         2/2     Running             0          2d5h
capi-controller-manager-6b8db6779-68ktd                          0/2     ContainerCreating   0          20s
capi-kubeadm-bootstrap-controller-manager-664b9c4fb6-vknqz       0/2     ContainerCreating   0          29s
capi-kubeadm-bootstrap-controller-manager-6699b999b7-cwv7f       2/2     Running             0          2d5h
capi-kubeadm-bootstrap-controller-manager-6699b999b7-vdhmg       2/2     Running             0          2d5h
capi-kubeadm-control-plane-controller-manager-577d49777b-6lv6n   2/2     Running             0          2d5h
capi-kubeadm-control-plane-controller-manager-577d49777b-gxlnb   2/2     Running             0          2d5h
capi-kubeadm-control-plane-controller-manager-b7d987456-dcckk    0/2     ContainerCreating   0          15s
capv-controller-manager-8fb4d7fc8-bfklm                          1/1     Running             0          2d5h
capv-controller-manager-b8f7b9d95-rbmqg                          1/1     Running             0          31s
capv-controller-manager-b8f7b9d95-tddns                          0/1     ContainerCreating   0          9s
capw-controller-manager-54fcff4f45-q9w7j                         0/2     ContainerCreating   0          29s
capw-webhook-5659b77f74-gbp89                                    2/2     Running             0          29s
masterproxy-tkgs-plugin-44mxg                                    1/1     Running             0          2d5h
masterproxy-tkgs-plugin-rzshb                                    1/1     Running             0          2d5h
masterproxy-tkgs-plugin-wlslg                                    1/1     Running             0          2d5h
tanzu-addons-controller-manager-6f75c6f858-j4kqq                 0/1     ContainerCreating   0          27s
tanzu-auth-controller-manager-59f77f5894-h7xdz                   1/1     Running             0          34s
tanzu-capabilities-controller-manager-7d8df8c448-vw4jl           1/1     Running             0          32s
tanzu-featuregates-controller-manager-555798c98c-vtzvc           1/1     Running             0          33s
tkgs-plugin-server-74f7465fb-zs6qq                               1/1     Running             0          2d5h
tkgs-plugin-server-dbfcb69c-nzw8p                                0/1     ContainerCreating   0          12s
tkr-conversion-webhook-manager-755df78dbf-fs9mq                  1/1     Running             0          2d5h
tkr-conversion-webhook-manager-865dbdc59d-4mbb4                  0/1     ContainerCreating   0          29s
tkr-resolver-cluster-webhook-manager-585574b869-68lp2            1/1     Running             0          29s
tkr-status-controller-manager-8669757f9f-4hkj4                   1/1     Running             0          29s
upgrade-compatibility-service-77d55bc9cd-xxrsh                   0/2     ContainerCreating   0          6s
vmware-system-tkg-controller-manager-5885bcdd47-k89gc            0/2     ContainerCreating   0          11s
vmware-system-tkg-controller-manager-745d855655-9d6vf            2/2     Running             0          2d5h
vmware-system-tkg-state-metrics-5967c589b6-69qgr                 0/2     ContainerCreating   0          1s
vmware-system-tkg-state-metrics-5967c589b6-7npvn                 2/2     Running             0          11s
vmware-system-tkg-state-metrics-7d495495f6-mspz7                 2/2     Terminating         0          2d5h
vmware-system-tkg-webhook-647d86b7fb-dpmnc                       0/2     ContainerCreating   0          12s
vmware-system-tkg-webhook-6987d754c-v5vvd                        2/2     Running             0          2d5h
```

TKGネームスペースにインストールされているパッケージバージョンを確認すると、tkgs-configによって管理される各パッケージもアップグレードされていきます。

```bash
$ kubectl get packageinstalls.packaging.carvel.dev -n svc-tkg-domain-c42343
NAME                                      PACKAGE NAME                                         PACKAGE VERSION   DESCRIPTION           AGE
cluster-api-provider-wcp                  capw.tkg.vsphere.vmware.com                          3.1.0             Reconciling           2d5h
tanzu-addons-manager                      addons-manager.tanzu.vmware.com                      3.1.0             Reconciling           2d5h
tanzu-auth                                tanzu-auth.tanzu.vmware.com                          3.1.0             Reconcile succeeded   2d5h
tanzu-capabilities                        capabilities.tanzu.vmware.com                        3.1.0             Reconcile succeeded   2d5h
tanzu-cliplugins                          cliplugins.tanzu.vmware.com                          3.1.0             Reconcile succeeded   2d5h
tanzu-cluster-api                         cluster-api.tanzu.vmware.com                         1.7.1+vmware.0    Reconciling           2d5h
tanzu-cluster-api-bootstrap-kubeadm       cluster-api-bootstrap-kubeadm.tanzu.vmware.com       1.7.1+vmware.0    Reconciling           2d5h
tanzu-cluster-api-control-plane-kubeadm   cluster-api-control-plane-kubeadm.tanzu.vmware.com   1.7.1+vmware.0    Reconciling           2d5h
tanzu-cluster-api-provider-vsphere        cluster-api-provider-vsphere.tanzu.vmware.com        1.10.0+vmware.0   Reconciling           2d5h
tanzu-featuregates                        featuregates.tanzu.vmware.com                        3.1.0             Reconcile succeeded   2d5h
tkg-controller                            gcc.tkg.vsphere.vmware.com                           3.9.0             Reconciling           2d5h
tkgs-config                               tkgs-config-vsphere.tanzu.vmware.com                 3.1.0             Reconcile succeeded   2d5h
tkr-service                               tkr-service.tanzu.vmware.com                         3.1.0             Reconcile succeeded   2d5h
upgrade-compatibility-service             ucs.tkg.vsphere.vmware.com                           3.1.0             Reconcile succeeded   2d5h
```

Tanzu Kubernetes Grid Serviceのアップグレードが完了すると、TKGネームスペースの全てのパッケージが「Reconcile succeeded」状態になります。

```
$ kubectl get packageinstalls.packaging.carvel.dev -n svc-tkg-domain-c42343
NAME                                      PACKAGE NAME                                         PACKAGE VERSION   DESCRIPTION           AGE
cluster-api-provider-wcp                  capw.tkg.vsphere.vmware.com                          3.1.0             Reconcile succeeded   2d5h
tanzu-addons-manager                      addons-manager.tanzu.vmware.com                      3.1.0             Reconcile succeeded   2d5h
tanzu-auth                                tanzu-auth.tanzu.vmware.com                          3.1.0             Reconcile succeeded   2d5h
tanzu-capabilities                        capabilities.tanzu.vmware.com                        3.1.0             Reconcile succeeded   2d5h
tanzu-cliplugins                          cliplugins.tanzu.vmware.com                          3.1.0             Reconcile succeeded   2d5h
tanzu-cluster-api                         cluster-api.tanzu.vmware.com                         1.7.1+vmware.0    Reconcile succeeded   2d5h
tanzu-cluster-api-bootstrap-kubeadm       cluster-api-bootstrap-kubeadm.tanzu.vmware.com       1.7.1+vmware.0    Reconcile succeeded   2d5h
tanzu-cluster-api-control-plane-kubeadm   cluster-api-control-plane-kubeadm.tanzu.vmware.com   1.7.1+vmware.0    Reconcile succeeded   2d5h
tanzu-cluster-api-provider-vsphere        cluster-api-provider-vsphere.tanzu.vmware.com        1.10.0+vmware.0   Reconcile succeeded   2d5h
tanzu-featuregates                        featuregates.tanzu.vmware.com                        3.1.0             Reconcile succeeded   2d5h
tkg-controller                            gcc.tkg.vsphere.vmware.com                           3.9.0             Reconcile succeeded   2d5h
tkgs-config                               tkgs-config-vsphere.tanzu.vmware.com                 3.1.0             Reconcile succeeded   2d5h
tkr-service                               tkr-service.tanzu.vmware.com                         3.1.0             Reconcile succeeded   2d5h
upgrade-compatibility-service             ucs.tkg.vsphere.vmware.com                           3.1.0             Reconcile succeeded   2d5h
```

アップグレードが完了すると、TKRとしてv1.30.1が利用可能になります。

```bash
$ kubectl get tkr | grep v1.30
v1.30.1---vmware.1-fips-tkg.5             v1.30.1+vmware.1-fips-tkg.5             True    True         2d5h
```

## Tanzu Kubernetes Clusterのアップグレード

作成済みのTanzuKubernetesClusterの状態を確認すると、`UPDATES AVAILABLE`として`v1.30.1`が表示されており、リソースを編集することでクラスターをアップグレードすることが可能です。

```bash
$ kubectl get tkc -n demo01
NAME            CONTROL PLANE   WORKER   TKR NAME                          AGE    READY   TKR COMPATIBLE   UPDATES AVAILABLE
tkc-cluster02   1               1        v1.29.4---vmware.3-fips.1-tkg.1   4h2m   True    True             [v1.30.1+vmware.1-fips-tkg.5]
```

```bash
$ kubectl get tkc -n demo01
NAME            CONTROL PLANE   WORKER   TKR NAME                        AGE     READY   TKR COMPATIBLE   UPDATES AVAILABLE
tkc-cluster02   1               1        v1.30.1---vmware.1-fips-tkg.5   5h36m   True    True
```

## まとめ

これまでのバージョンではTanzu Kubernetes Gridのバージョンを上げるには、vCenter Serverのバージョンアップが必要でしたが、vSphere 8.0u3からvCenter Server・ワークロード管理のバージョンとTanzu Kubernetes Grid Serviceのバージョンが分離されたことで、柔軟なアップグレードが可能になっています。また、3rd Partyが、スパーバイザーサービスを提供することで、vSphere IaaS Control PlaneでTKG以外のKubernetesを実行することも可能になるんじゃないかと思います。