TKG サービス クラスタでスナップショット テクノロジーを使用できるようにするには、TKG クラスタに外部 CSI スナップショット Webhook をインストールしてデプロイする必要があります。外部 CSI スナップショット Webhook は、アドミッション要求に応答する HTTP コールバックを備えたオープンソース コンポーネントです。ボリューム スナップショット オブジェクトの検証を行うことができます。

外部 CSI スナップショット Webhook は、スーパーバイザーに自動的にインストールされます。このトピックは、TKG サービス クラスタにのみ適用されます。

前提条件

外部 CSI スナップショット Webhook をインストールするための TKG サービス クラスタの準備

次の手順に従って、TKG サービス クラスタに外部 CSI スナップショット Webhook をインストールします。

手順

  1. 外部 CSI スナップショット Webhook をデプロイする TKG クラスタの管理者認証情報を取得します。
    tanzu cluster kubeconfig get my-cluster --admin
  2. ターゲット TKG クラスタがプロビジョニングされている vSphere 名前空間 にコンテキストを切り替えます。
    kubectl config use-context my-cluster-admin@my-cluster
  3. パッケージ リポジトリ(tanzu-standard リポジトリなど)がクラスタにない場合は、パッケージ リポジトリをインストールします。
    ターゲット クラスタがプランベースのレガシー クラスタの場合は、この手順をスキップできます。プランベースのクラスタの場合、tanzu-package-repo-global 名前空間で tanzu-standard パッケージ リポジトリが自動的に有効になります。
    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    • PACKAGE-REPO-NAME は、パッケージ リポジトリの名前(tanzu-standard など)または ADDITIONAL_IMAGE_REGISTRY 変数で構成されたプライベート イメージ レジストリの名前です。
    • PACKAGE-REPO-ENDPOINT は、パッケージ リポジトリの URL です。
  4. cert-manager をまだインストールしていない場合は、インストールします。
    詳細については、『 Cert Manager のインストール』を参照してください。

結果

これで、外部 CSI スナップショット Webhook をデプロイできます。

外部 CSI スナップショット Webhook のデプロイ

次の手順に従って、TKG サービス クラスタに外部 CSI スナップショット Webhook をデプロイします。

手順

  1. 外部 CSI スナップショット Webhook パッケージがクラスタで使用可能であることを確認します。
    tanzu package available list -A

    パッケージが使用できない場合は、必要な外部 CSI スナップショット Webhook パッケージを含むパッケージ リポジトリが正しくインストールされていることを確認します。手順については、「外部 CSI スナップショット Webhook をインストールするための TKG サービス クラスタの準備」の手順 3 を参照してください。

  2. 使用可能なパッケージのバージョンを取得します。
    tanzu package available list external-csi-snapshot-webhook.tanzu.vmware.com -A
  3. 使用可能な適切なバージョンのパッケージをインストールします。
    tanzu package install external-csi-snapshot-webhook --package external-csi-snapshot-webhook.tanzu.vmware.com --version AVAILABLE-PACKAGE-VERSION --namespace kube-system
    AVAILABLE-PACKAGE-VERSION は、手順 2 で取得したパッケージ バージョンを指定します。
  4. 外部 CSI スナップショット Webhook パッケージがインストールされたことを確認します。
    tanzu package installed list -A
    パッケージの詳細を表示するには、次のコマンドを実行することもできます。
    tanzu package installed get external-csi-snapshot-webhook --namespace kube-system
  5. external-csi-snapshot-webhook アプリケーションが TARGET-NAMESPACE で正常に調整されたことを確認します。
    kubectl get apps -A
    ステータスが Reconcile Succeeded でない場合は、external-csi-snapshot-webhook アプリケーションの完全なステータスの詳細を表示します。完全なステータスを表示すると、問題のトラブルシューティングに役立ちます。
    kubectl get app external-csi-snapshot-webhook --namespace kube-system -o yaml
    トラブルシューティングを実行しても問題を解決できない場合は、次のコマンドを使用してパッケージをアンインストールしてから、再度インストールしてください。
    tanzu package installed delete external-csi-snapshot-webhook --namespace kube-system
  6. クラスタ内のすべてのポッドを一覧表示して、external-csi-snapshot-webhook が実行されていることを確認します。
    kubectl get pods -A
    kube-system 名前空間に external-csi-snapshot-webhook ポッドが作成されていることを確認します。