1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

はじめに

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 リリース ノート

  • Tanzu Kubernetes Grid Service for vSphere
    スーパーバイザー サービスとしての TKG サービス – このリリースでは、TKG サービス コンポーネントが vCenter Server から分離され、vCenter Server およびスーパーバイザー リリースとは関係なく更新および管理できるスーパーバイザー サービスとしてパッケージ化されています。TKG サービスのリリース ノートはこちらで確認できます。

本記事では、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

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

$ 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リソースとして確認できます。

$ 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

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

image.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

上記サイトではTKG Service v3.1.0が公開されており、v3.1.0はTKRv1.30に対応しています。

image.png

TKG Service v3.1.0のリリースノート

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)

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

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が有効になっています。

$ 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
$ 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

image.png

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

image.png

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

$ 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

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

image.png

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

image.png

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

$ 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によって管理される各パッケージもアップグレードされていきます。

$ 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が利用可能になります。

$ 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が表示されており、リソースを編集することでクラスターをアップグレードすることが可能です。

$ 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]
$ 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を実行することも可能になるんじゃないかと思います。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?