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
    vsphere-pv-csi-webhook 포드가 vmware-system-csi OR TARGET-NAMESPACE에 생성되었는지 확인합니다.