TKG サービス クラスタに vSphere PVCSI Webhook をインストールしてデプロイします。vSphere PVCSI Webhook は、CSI アドミッション要求に応答するコールバックを備えたコンポーネントです。Kubernetes オブジェクト(パーシステント ボリューム要求、パーシステント ボリューム、ストレージ クラスなど)の検証を行うことができます。

vSphere PVCSI Webhook は、スーパーバイザーに自動的にインストールされます。このトピックは、TKG サービス クラスタにのみ適用されます。

前提条件

vSphere PVCSI Webhook をインストールするための TKG サービス クラスタの準備

次の手順に従って、vSphere PVCSI Webhook をインストールするための TKG サービス クラスタの準備を行います。

手順

  1. vSphere PVCSI Webhook をデプロイする TKG クラスタの管理者認証情報を取得します。
    tanzu cluster kubeconfig get my-cluster --admin
  2. ターゲット TKG クラスタがプロビジョニングされている vSphere 名前空間 にコンテキストを切り替えます。
    kubectl config use-context my-cluster-admin@my-cluster
  3. vsphere-pv-csi-webhook パッケージを含むパッケージ リポジトリ(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 のインストール』を参照してください。

結果

これで、vSphere PVCSI Webhook をデプロイできます。

vSphere PVCSI Webhook のデプロイ

次の手順に従って、TKG サービス クラスタに vSphere PVCSI Webhook をデプロイします。

手順

  1. vSphere PVCSI Webhook パッケージがクラスタで使用可能であることを確認します。
    tanzu package available list -A

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

  2. 使用可能なパッケージのバージョンを取得します。
    tanzu package available list vsphere-pv-csi-webhook.tanzu.vmware.com -A
  3. 使用可能な適切なバージョンのパッケージをインストールします。
    tanzu package install vsphere-pv-csi-webhook --package vsphere-pv-csi-webhook.tanzu.vmware.com --version AVAILABLE-PACKAGE-VERSION --namespace TARGET-NAMESPACE
    • TARGET-NAMESPACE は、vsphere-pv-csi-webhook パッケージをインストールする名前空間を指定します。
      注: TARGET-NAMESPACE は、vsphere-pv-csi パッケージがインストールされている名前空間と同じである必要があります。

      --namespace フラグを指定しない場合、Tanzu CLI はパッケージとそのリソースをデフォルトの名前空間(例:vsphere-pv-csi-webhook パッケージの場合は vmware-system-csi)にインストールします。たとえば、kubectl create namespace vmware-system-csi を実行する場合は、指定された名前空間がすでに存在している必要があります。

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