スタンドアローン管理クラスタのアップグレード

スタンドアローン管理クラスタで Tanzu Kubernetes Grid をアップグレードするには、まずスタンドアローン管理クラスタをアップグレードする必要があります。ワークロード クラスタは、それを管理する管理クラスタをアップグレードするまでアップグレードできません。

vSphere with Tanzu スーパーバイザーで TKG を実行している場合は、この手順を実行しないでください。代わりに、vSphere の一部としてスーパーバイザーをアップグレードし、TKr のアップグレードを通してスーパーバイザーの Kubernetes バージョンを更新します。

管理クラスタをアップグレードすると、それが実行する自動管理パッケージも自動的にアップグレードされます。

v2.1 CLI をインストールした後、スタンドアローン管理クラスタをアップグレードするまでは、コンテキスト固有のすべての CLI コマンド グループ(tanzu clustertanzu kubernetes-release)およびすべての management-cluster プラグイン コマンド(ただし tanzu mc upgradetanzu mc create は除く)は使用できず、Tanzu CLI --help の出力にも含まれません。

管理クラスタとワークロード クラスタは、クライアント証明書を使用してクライアントを認証します。これらの証明書は 1 年間有効です。更新するには、クラスタを少なくとも年 1 回アップグレードするか、手動でローテーションします。これは、「クラスタ証明書の更新(スタンドアローン MC)」または VMware ナレッジベースの記事「Tanzu Kubernetes Grid クラスタでの証明書のローテーション方法」で説明されています。

前提条件

  • アップグレードの既知の問題を確認してあること。「既知の問題」を参照してください。
  • 管理クラスタをアップグレードする手順の前に行う、「Tanzu Kubernetes Grid のアップグレード」の手順を実行済みであること。
  • 以前のバージョンの Tanzu Kubernetes Grid を、インターネットが制限された環境に展開している場合は、インターネットが制限された環境を準備する手順を実行して、新しいコンポーネント イメージ バージョンで、必要なスクリプトを再作成して実行してあること。
  • スーパーバイザー クラスタを使用しない vSphere 7 ですでに実行されている既存のバージョン 1.6.0 以下の管理クラスタがある場合に、vSphere を vSphere 8 にアップグレードするには、管理クラスタとそのワークロード クラスタを Tanzu Kubernetes Grid v2.1.x または v1.6.1 にアップグレードすること(可能であれば vSphere 7 から vSphere 8 にアップグレードする前に実行する)。vSphere 7 でスタンドアローン管理クラスタを実行していて、Tanzu Kubernetes Grid v2.1.x または v1.6.1 にアップグレードする前に vSphere インスタンスを vSphere 8 にアップグレードする場合は、できるだけ早く管理クラスタとワークロード クラスタをアップグレードする必要があります。v1.6.0 以下の Tanzu Kubernetes Grid リリースは、vSphere 8 ではサポートされません。

手順

  1. tanzu login コマンドを実行して、アップグレード可能な管理クラスタのインタラクティブ リストを表示します。

    tanzu login
    
  2. アップグレードする管理クラスタを選択します。詳細については、「管理クラスタの一覧表示とコンテキストの変更」を参照してください。

  3. クラスタの管理者認証情報を取得します。tanzu CLI エイリアス mc は、management-cluster の省略形です。

    tanzu mc kubeconfig get --admin
    
  4. kubectl を管理クラスタに接続します。


    kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
    
  5. 管理クラスタが Azure で実行されている場合は、クラスタをアップグレードする前に AZURE_CLIENT_SECRET 環境変数を設定します。

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. 管理クラスタが TKG v1.3 以前で最初に作成された場合、または不明な場合は、次の手順を実行します。これらの手順では、管理クラスタを TKG v2.1 のパッケージベースの構成にアップグレードするために必要なシークレットを追加しますが、これは TKG v1.4 より前に作成された管理クラスタには含まれていないものでした。

    1. package-based-cc 機能フラグを無効にして、レガシー管理クラスタの作成ドライランを有効にします。

      tanzu config set features.management-cluster.package-based-cc false
      
    2. 元の構成ファイルを使用して管理クラスタの作成をドライランすることにより、管理クラスタの最新のレガシー スタイル マニフェストを取得します。たとえば、vSphere では次のコマンドを実行します。

      tanzu mc create -f mgmt-config.yaml --dry-run > legacy-mgmt.yaml
      Do you want to configure vSphere with Tanzu? [y/N]: N
      Would you like to deploy a non-integrated Tanzu Kubernetes Grid management cluster on vSphere 7.0? [y/N]: y
      
      
    3. 必要な -config-values シークレットを抽出します。

      cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
      
    4. 管理クラスタのコンテキストで、シークレットを管理クラスタに適用します。

      kubectl apply -f mgmt-config-secret.yaml
      
    5. package-based-cc 機能フラグを再度有効にして、レガシー管理クラスタの作成を禁止します。

      tanzu config set features.management-cluster.package-based-cc true
      
  7. tanzu mc upgrade コマンドを実行し、y と入力して確認します。

    このコマンドを実行すると、Pinniped ポッドの再起動が完了するまで、管理者以外のユーザーは、関連付けられたワークロード クラスタにログインできなくなります。

    tanzu mc upgrade
    

    IaaS アカウント内の複数のベース仮想マシン イメージに、アップグレード対象と同じバージョンの Kubernetes がある場合は、--os-name オプションを使用して、必要な OS を指定します。詳細については、「クラスタをアップグレードする際の OS の選択」を参照してください。

    たとえば、vSphere で Kubernetes v1.24.10 を使用して Photon テンプレートと Ubuntu OVA テンプレートの両方をアップロードした場合は、--os-name ubuntu を指定して、Ubuntu 仮想マシンで実行するように管理クラスタをアップグレードします。

    tanzu mc upgrade --os-name ubuntu
    

    クラスタをアップグレードするときに確認手順をスキップするには、--yes オプションを指定します。

    tanzu mc upgrade --yes
    

    アップグレード プロセスでは、まず、管理クラスタで実行されている vSphere、Amazon Web Services (AWS)、または Azure のクラスタ API プロバイダがアップグレードされます。次に、管理クラスタのすべての制御プレーン ノードとワーカー ノードの Kubernetes のバージョンがアップグレードされます。

    重要

    管理クラスタのアップグレード中は、管理クラスタまたは管理クラスタが管理するワークロード クラスタに対して、tanzu cluster または tanzu mc コマンドを実行しないでください(たとえば、別のブートストラップ マシンやシェル ウィンドウから)。

    アップグレードが完了する前にタイムアウトした場合は、デフォルトの 30 分よりも大きい値を指定した --timeout オプションを指定して、tanzu mc upgrade を再度実行します。

    tanzu mc upgrade --timeout 45m0s
    

    v2.1 CLI をインストールした後、管理クラスタをアップグレードするまでは、コンテキスト固有のすべての CLI コマンド グループ(tanzu clustertanzu kubernetes-release)およびすべての management-cluster プラグイン コマンド(ただし tanzu mc upgradetanzu mc create は除く)は使用できず、Tanzu CLI --help の出力にも含まれません。

  8. アップグレードが完了したら、tanzu cluster list コマンドを --include-management-cluster -A オプションと一緒に再度実行して、管理クラスタがアップグレードされていることを確認します。

    tanzu cluster list --include-management-cluster -A
    

    管理クラスタで新しいバージョンの Kubernetes が実行されているが、ワークロード クラスタでは引き続き以前のバージョンの Kubernetes が実行されていることがわかります。

     NAME                 NAMESPACE   STATUS    CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLA   TKR
     k8s-1-22-13-cluster  default     running   1/1           1/1      v1.22.13+vmware.1  <none>      dev   v1.22.13---vmware.1-tkg.1
     k8s-1-23-10-cluster  default     running   1/1           1/1      v1.23.10+vmware.1  <none>      dev   v1.23.10---vmware.1-tkg.1
     mgmt-cluster         tkg-system  running   1/1           1/1      v1.24.10+vmware.1  management  dev   v1.24.10---vmware.1-tkg.1
    
  9. 管理者の kubeconfig を再生成します。

    tanzu management-cluster kubeconfig get --admin
    

    次に示すのは、コマンドのサンプル出力です。

    Credentials of cluster 'mgmt' have been saved
    You can now access the cluster by running 'kubectl config use-context mgmt-admin@mgmt'
    
    重要

    アップグレード後に kubeconfig を更新しない場合、クラスタの有効期限が切れるとアクセスできなくなります。

次の手順

次の作業を実行できます。

check-circle-line exclamation-circle-line close-line
Scroll to top icon