TKG 서비스 클러스터에서 스냅샷 기술을 사용할 수 있으려면 외부 CSI 스냅샷 Webhook을 설치하고 TKG 클러스터에 배포해야 합니다. 외부 CSI 스냅샷 Webhook은 승인 요청에 응답하는 HTTP 콜백이 있는 오픈 소스 구성 요소입니다. 볼륨 스냅샷 개체의 유효성 검사를 담당합니다.

외부 CSI 스냅샷 Webhook은 감독자에 자동으로 설치됩니다. 이 항목은 TKG 서비스 클러스터에만 적용됩니다.

사전 요구 사항

외부 CSI 스냅샷 Webhook 설치를 위해 TKG 서비스 클러스터 준비

다음 단계에 따라 외부 CSI 스냅샷 Webhook을 TKG 서비스 클러스터에 설치합니다.

프로시저

  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
    external-csi-snapshot-webhook 포드가 kube-system 네임스페이스에 생성되었는지 확인합니다.