ワークロード クラスタのアップグレード

このトピックでは、Tanzu Kubernetes Grid (TKG) ワークロード クラスタをアップグレードする方法について説明します。スタンドアローン管理クラスタを使用する TKG の場合は、まずワークロード クラスタを管理する管理クラスタをアップグレードする必要があります。

重要

  • vSphere 8 でスーパーバイザーを使用して展開したワークロード クラスタをアップグレードする場合は、「Tanzu CLI を使用した TKG 2.2 ワークロード クラスタの作成と管理」の「スーパーバイザーによって展開されたクラスタのアップグレード(vSphere 8 のみ)」を参照してください。
  • スタンドアローン管理クラスタとワークロード クラスタは、クライアント証明書を使用してクライアントを認証します。これらの証明書は 1 年間有効です。更新するには、少なくとも年 1 回クラスタをアップグレードします。
  • TKG は、以前のバージョンの tiny TKr を実行しているクラスタのアップグレードをサポートしません。最小単一ノード クラスタを最新の tiny TKr バージョンに更新するには、古いクラスタを削除して新しいクラスタを作成する必要があります。tiny TKr については、「vSphere 上の単一ノード クラスタ」を参照してください。

前提条件

インフラストラクチャの前提条件

vSphere
vSphere で実行されているクラスタをアップグレードする場合は、お使いの Tanzu Kubernetes Grid のバージョンに対応したデフォルト以外のバージョンの Kubernetes にクラスタをアップグレードする前に、仮想マシン テンプレートとして適切な基本イメージ テンプレート OVA が vSphere で使用可能である必要があります。OVA ファイルを vSphere にインポートする方法については、「 クラスタのアップグレードの準備」の [vSphere] タブを参照してください。
AWS
Amazon Web Services (AWS) で実行されているクラスタをアップグレードする場合、サポート対象の Kubernetes バージョンを含む Amazon Linux 2 Amazon Machine Images (AMI) は、サポートされているすべての AWS リージョンのすべての AWS ユーザーに対して、公開されており使用可能です。Tanzu Kubernetes Grid は、アップグレード中に指定した Kubernetes バージョンに対して適切な AMI を自動的に使用します。
Azure
Azure で実行されているクラスタをアップグレードする場合は、「 クラスタのアップグレードの準備」の [Azure] タブの手順を完了していることを確認します。


手順

アップグレード プロセスでは、ワークロード クラスタのすべての制御プレーン ノードとワーカー ノード内の Kubernetes のバージョンがアップグレードされます。

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

    tanzu login
    
  2. ワークロード クラスタを一覧表示するには、次のコマンドを実行します。

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

    --include-management-cluster -A オプションを指定した tanzu cluster list コマンドにより、管理クラスタで実行されている Kubernetes のバージョンと、管理するすべてのクラスタが表示されます。この例では、管理クラスタはすでに v1.25.7 にアップグレードされているのに、ワークロード クラスタでは古いバージョンの Kubernetes が実行されています。

    NAME                 NAMESPACE   STATUS    CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLAN  TKR
    k8s-1-23-16-cluster  default     running   1/1           1/1      v1.23.16+vmware.1  <none>      dev   v1.23.16---vmware.1-tkg.1
    k8s-1-24-10-cluster  default     running   1/1           1/1      1.24.10+vmware.1   <none>      dev   1.24.10---vmware.1-tkg.1
    mgmt-cluster         tkg-system  running   1/1           1/1      v1.25.7+vmware.1   management  dev   v1.25.7---vmware.1-tkg.1
    
  3. 管理クラスタによって使用可能になっている Kubernetes のバージョンを確認するには、tanzu kubernetes-release get コマンドを実行します。

    tanzu kubernetes-release get
    

    出力には、クラスタの展開に使用できる Kubernetes のすべてのバージョンが一覧表示されます。また、次の注意事項があります。

    • COMPATIBLE:現在の管理クラスタは、この Tanzu Kubernetes リリース (tkr) でワークロード クラスタを展開できます。
    • UPDATES AVAILABLE:この tkr は、Kubernetes バージョン ラインの最新のものではありません。この tkr バージョンを実行しているワークロード クラスタは、新しいバージョンにアップグレードできます。

    例:

    NAME                       VERSION                  COMPATIBLE  ACTIVE  UPDATES AVAILABLE
    v1.23.16---vmware.1-tkg.1  v1.23.16+vmware.1-tkg.1  True        True
    v1.24.11---vmware.1-tkg.1  v1.24.11+vmware.1-tkg.1  True        True
    v1.25.7---vmware.1-tkg.1   v1.25.7+vmware.1-tkg.1   True        True
    
  4. 古い tkr バージョンを実行しているワークロード クラスタのアップグレード先となる新しい tkr バージョンを検出するには、現在の tkr バージョンを指定して tanzu kubernetes-release available-upgrades get コマンドを実行します。

    tanzu kubernetes-release available-upgrades get 1.22.17---vmware.1-tkg.1
    

    このコマンドは、指定されたバージョンを実行しているクラスタのアップグレード先となる使用可能なすべての Kubernetes バージョンを一覧表示します。

    また、tanzu cluster available-upgrades get コマンドでクラスタ名を指定することで、特定のワークロード クラスタで使用可能な tkr バージョンを検出することもできます。

    tanzu cluster available-upgrades get k8s-1-23-16-cluster
    

    このコマンドは、指定されたクラスタと互換性のあるすべての Kubernetes バージョンを一覧表示します。

    tkr バージョンをアップグレードするときに、マイナー バージョンをスキップすることはできません。たとえば、クラスタを v1.23.x から v1.25.x に直接アップグレードすることはできません。クラスタを v1.25.x にアップグレードする前に、v1.23.x クラスタを v1.24.x にアップグレードする必要があります。

  5. クラスタが Azure で実行されている場合は、クラスタをアップグレードする前に AZURE_CLIENT_SECRET 環境変数を設定します。

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. tanzu cluster upgrade CLUSTER-NAME コマンドを実行し、y と入力して確認します。確認手順をスキップするには、--yes オプションを指定します。

    このリリースの Tanzu Kubernetes Grid のデフォルトの Kubernetes バージョンにクラスタをアップグレードするには、オプションの設定なしで tanzu cluster upgrade コマンドを実行します。このリリースでは、デフォルトのバージョンは v1.25.7 です。例:

    tanzu cluster upgrade k8s-1-24-10-cluster
    

    クラスタが default 名前空間で実行されていない場合は、--namespace オプションを指定します。

    tanzu cluster upgrade CLUSTER-NAME --namespace NAMESPACE-NAME
    

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

    tanzu cluster upgrade CLUSTER-NAME --timeout 45m0s
    
    重要

    Azure での操作は、他のプラットフォームでの場合よりも時間がかかる場合があります。Azure 上のクラスタをアップグレードする場合は、エラーを回避するために --timeout オプションを定期的に設定してください。

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

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

    tanzu cluster upgrade CLUSTER-NAME --os-name ubuntu
    

    tkr のマイナー バージョンをスキップすることはできないため、デフォルト バージョンより 2 つ上のマイナー バージョンのクラスタをアップグレードしようとすると、アップグレード コマンドは失敗します。たとえば、v1.23.x から v1.25.x に直接アップグレードすることはできません。このリリースの Tanzu Kubernetes Grid のデフォルト以外の Kubernetes バージョンにクラスタをアップグレードするには、上記の tanzu kubernetes-release get によって一覧表示されている、選択したバージョンの NAME を使用して --tkr オプションを指定します。たとえば、クラスタ k8s-1-23-16-cluster を v1.23.16 から v1.24.11 にアップグレードするには、次を実行します。

    tanzu cluster upgrade k8s-1-23-16-cluster --tkr v1.24.11---vmware.1-tkg.1
    
  7. アップグレードが完了したら、tanzu cluster list コマンドを実行して、ワークロード クラスタがアップグレードされていることを確認します。

    tanzu cluster list --include-management-cluster -A
    
  8. 管理者の kubeconfig を再生成します。

    tanzu cluster kubeconfig get CLUSTER-NAME --admin
    

    ここで、CLUSTER-NAME はワークロード クラスタの名前です。

    重要

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

  9. LDAP または OIDC ID プロバイダを使用している場合は、kubectl を使用して、クラスタに対して認証できることを確認します。例:

    kubectl get pods -A --kubeconfig my-cluster-credentials
    
  10. ワークロード クラスタで実行されている、Contour、Fluent Bit、Prometheus などの CLI で管理されるパッケージをアップグレードします。CLI で管理されるパッケージのアップグレードの詳細については、「Update a Package」を参照してください。

    重要

    ワークロード クラスタに Prometheus がインストールされていて、ワークロード クラスタを Kubernetes v1.25 にアップグレードする場合は、Prometheus をバージョン 2.37.0+vmware.3-tkg.1 にアップグレードする必要があります。Prometheus パッケージの以前のバージョン(バージョン 2.37.0+vmware.1-tkg.1 など)は、Kubernetes 1.25 と互換性がありません。

次の手順

引き続き Tanzu CLI を使用してクラスタを管理できるようになりました。詳細については、「Tanzu CLI を使用した TKG 2.2 ワークロード クラスタの作成と管理」を参照してください。

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