vSphere Client를 사용하여 vCenter Server 또는 감독자 클러스터의 네임스페이스에서 스토리지 정책을 제거할 경우 일치하는 스토리지 클래스는 Kubernetes 환경에 남아 있지만 사용할 수는 없습니다.

문제

kubectl get sc 명령을 실행하면 출력이 네임스페이스에서 사용할 수 있는 스토리지 클래스를 계속 나열합니다. 그러나 스토리지 클래스는 사용할 수 없습니다. 예를 들어 새 영구 볼륨 할당에 대해 스토리지 클래스를 사용하려는 시도가 실패합니다.

스토리지 클래스가 Kubernetes 배포에서 이미 사용되고 있는 경우 배포가 예기치 않게 동작할 수 있습니다.

해결책

  1. 네임스페이스에 있는 스토리지 클래스를 확인하려면 kubectl describe namespace namespace_name 명령을 실행합니다.
    일치하는 스토리지 정책이 제거된 경우 이 명령의 출력은 스토리지 클래스를 나열하지 않습니다.
  2. 스토리지 클래스가 배포에서 이미 사용되고 있는 경우 스토리지 클래스를 복원합니다.
    1. vSphere Client를 사용하여 제거한 정책과 동일한 이름의 새 스토리지 정책을 생성합니다.
      예를 들어 Gold 정책을 삭제한 경우 새 정책의 이름을 Gold로 지정합니다. vSphere with Tanzu에 대한 스토리지 정책 생성의 내용을 참조하십시오.
    2. 네임스페이스에 정책을 할당합니다.
      네임스페이스의 스토리지 설정 변경의 내용을 참조하십시오.
      네임스페이스에 정책을 할당한 후 vSphere with Tanzu는 이전 스토리지 클래스를 삭제하고 동일한 이름의 일치하는 스토리지 클래스를 생성합니다.