6.6. 기본 스토리지 클래스 관리


6.6.1. 개요

기본 저장소 클래스를 관리하면 여러 가지 목표를 달성할 수 있습니다.

  • 동적 프로비저닝을 비활성화하여 정적 프로비저닝을 적용합니다.
  • 다른 기본 저장 클래스가 있는 경우 저장 운영자가 초기 기본 저장 클래스를 다시 만들지 못하게 합니다.
  • 기본 저장소 클래스의 이름을 바꾸거나 다른 방식으로 변경

이러한 목표를 달성하려면 ClusterCSIDriver 개체의 spec.storageClassState 필드 설정을 변경합니다. 이 필드에 가능한 설정은 다음과 같습니다.

  • 관리됨 : (기본값) 컨테이너 스토리지 인터페이스(CSI) 운영자는 기본 스토리지 클래스를 적극적으로 관리하므로 클러스터 관리자가 기본 스토리지 클래스에 수행한 대부분의 수동 변경 사항이 제거되고, 수동으로 삭제하려고 하면 기본 스토리지 클래스가 계속해서 다시 생성됩니다.
  • 관리되지 않음 : 기본 저장소 클래스를 수정할 수 있습니다. CSI 운영자는 스토리지 클래스를 적극적으로 관리하지 않으므로 자동으로 생성하는 기본 스토리지 클래스를 조정하지 않습니다.
  • 제거됨 : CSI 연산자는 기본 저장 클래스를 삭제합니다.

기본 스토리지 클래스 관리 기능은 다음 컨테이너 스토리지 인터페이스(CSI) 드라이버 연산자를 통해 지원됩니다.

6.6.2. 웹 콘솔을 사용하여 기본 스토리지 클래스 관리

사전 요구 사항

  • OpenShift Container Platform 웹 콘솔에 액세스합니다.
  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.

프로세스

웹 콘솔을 사용하여 기본 스토리지 클래스를 관리하려면 다음을 수행합니다.

  1. 웹 콘솔에 로그인합니다.
  2. Administration > CustomResourceDefinitions 를 클릭합니다.
  3. CustomResourceDefinitions 페이지에서 clustercsidrivers를 입력하여 ClusterCSIDriver 오브젝트를 찾습니다.
  4. ClusterCSIDriver 를 클릭한 다음 Instances 탭을 클릭합니다.
  5. 원하는 인스턴스의 이름을 클릭한 다음 YAML 탭을 클릭합니다.
  6. Managed,Unmanaged 또는 Removed 의 값을 사용하여 spec.storageClassState 필드를 추가합니다.

    예제

    ...
    spec:
      driverConfig:
        driverType: ''
      logLevel: Normal
      managementState: Managed
      observedConfig: null
      operatorLogLevel: Normal
      storageClassState: Unmanaged 
    1
    
    ...
    Copy to Clipboard Toggle word wrap

    1
    spec.storageClassState 필드가 "Unmanaged"로 설정
  7. 저장을 클릭합니다.

6.6.3. CLI를 사용하여 기본 스토리지 클래스 관리

사전 요구 사항

  • cluster-admin 권한으로 클러스터에 액세스합니다.

프로세스

CLI를 사용하여 스토리지 클래스를 관리하려면 다음 명령을 실행합니다.

$ oc patch clustercsidriver $DRIVERNAME --type=merge -p "{\"spec\":{\"storageClassState\":\"${STATE}\"}}" 
1
Copy to Clipboard Toggle word wrap
1
여기서 ${STATE} 는 "제거" 또는 "관리되지 않음" 또는 "관리되지 않음"입니다.

여기서 $DRIVERNAME 은 프로비저너 이름입니다. oc get sc 명령을 실행하여 프로비저너 이름을 찾을 수 있습니다.

6.6.4. absent 또는 여러 기본 스토리지 클래스

6.6.4.1. 여러 기본 스토리지 클래스

기본이 아닌 스토리지 클래스를 기본값으로 표시하고 기존 기본 스토리지 클래스를 설정하지 않거나 기본 스토리지 클래스가 이미 있을 때 기본 스토리지 클래스를 생성하는 경우 여러 기본 스토리지 클래스가 발생할 수 있습니다. 여러 기본 스토리지 클래스가 있는 경우 기본 스토리지 클래스 pvc.spec.storageClassName=nil)를 요청하는 모든 영구 볼륨 클레임(PVC)은 해당 스토리지 클래스의 기본 상태와 관계없이 가장 최근에 생성된 기본 스토리지 클래스를 가져옵니다. 경고 대시보드에서 여러 기본 스토리지 클래스인 MultipleDefaultStorageClasses 가 있다는 경고를 받습니다.

6.6.4.2. 기본 스토리지 클래스가 없음

PVC에서 존재하지 않는 기본 스토리지 클래스를 사용하려는 두 가지 시나리오가 있습니다.

  • 관리자는 기본 스토리지 클래스를 제거하거나 기본이 아닌 것으로 표시한 다음 사용자가 기본 스토리지 클래스를 요청하는 PVC를 생성합니다.
  • 설치 중에 설치 프로그램은 아직 생성되지 않은 기본 스토리지 클래스를 요청하는 PVC를 생성합니다.

이전 시나리오에서는 PVC가 보류 중인 상태로 무기한 유지됩니다. 이 상황을 해결하려면 기본 스토리지 클래스를 생성하거나 기존 스토리지 클래스 중 하나를 기본값으로 선언합니다. 기본 스토리지 클래스가 생성되거나 선언되면 PVC에 새 기본 스토리지 클래스가 제공됩니다. 가능한 경우 PVC는 결국 정적 또는 동적으로 프로비저닝된 PV에 바인딩하고 보류 중 상태로 이동합니다.

6.6.5. 기본 스토리지 클래스 변경

다음 절차에 따라 기본 스토리지 클래스를 변경합니다.

예를 들어 두 개의 스토리지 클래스(gp2standard)가 있으며 기본 스토리지 클래스를 gp2 에서 standard로 변경하려고 합니다.

사전 요구 사항

  • cluster-admin 권한으로 클러스터에 액세스합니다.

프로세스

기본 스토리지 클래스를 변경하려면 다음을 수행합니다.

  1. 스토리지 클래스를 나열합니다.

    $ oc get storageclass
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                 TYPE
    gp3 (default)        ebs.csi.aws.com 
    1
    
    standard             ebs.csi.aws.com
    Copy to Clipboard Toggle word wrap

    1
    (default) 는 기본 스토리지 클래스를 나타냅니다.
  2. 원하는 스토리지 클래스를 기본값으로 설정합니다.

    원하는 스토리지 클래스의 경우 다음 명령을 실행하여 storageclass.kubernetes.io/is-default-class 주석을 true 로 설정합니다.

    $ oc patch storageclass standard -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
    Copy to Clipboard Toggle word wrap
    참고

    짧은 시간 동안 여러 기본 스토리지 클래스를 사용할 수 있습니다. 그러나 결국 하나의 기본 스토리지 클래스만 존재하는지 확인해야 합니다.

    여러 기본 스토리지 클래스가 있는 경우 기본 스토리지 클래스 pvc.spec.storageClassName=nil)를 요청하는 모든 영구 볼륨 클레임(PVC)은 해당 스토리지 클래스의 기본 상태와 관계없이 가장 최근에 생성된 기본 스토리지 클래스를 가져옵니다. 경고 대시보드에서 여러 기본 스토리지 클래스인 MultipleDefaultStorageClasses 가 있다는 경고를 받습니다.

  3. 이전 기본 스토리지 클래스에서 기본 스토리지 클래스 설정을 제거합니다.

    이전 기본 스토리지 클래스의 경우 다음 명령을 실행하여 storageclass.kubernetes.io/is-default-class 주석의 값을 false 로 변경합니다.

    $ oc patch storageclass gp3 -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
    Copy to Clipboard Toggle word wrap
  4. 변경 사항을 확인합니다.

    $ oc get storageclass
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                 TYPE
    gp3                  ebs.csi.aws.com
    standard (default)   ebs.csi.aws.com
    Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat