6.21. VMware vSphere CSI Driver Operator


6.21.1. 개요

OpenShift Container Platform은 VMDK(Virtual Machine Disk) 볼륨용 CSI(Container Storage Interface) VMware vSphere 드라이버를 사용하여 영구 볼륨(PV)을 프로비저닝할 수 있습니다.

CSI 운영자와 드라이버를 사용할 때는 영구 저장소CSI 볼륨 구성 에 익숙해야 합니다.

vSphere 스토리지 자산에 마운트되는 CSI 프로비저닝 영구 볼륨(PV)을 생성하기 위해 OpenShift Container Platform은 기본적으로 openshift-cluster-csi-drivers 네임스페이스에 vSphere CSI Driver Operator와 vSphere CSI 드라이버를 설치합니다.

  • vSphere CSI 드라이버 운영자 : 운영자는 지속적 볼륨 클레임(PVC)을 생성하는 데 사용할 수 있는 thin-csi 라는 스토리지 클래스를 제공합니다. vSphere CSI Driver Operator는 필요에 따라 스토리지 볼륨을 생성할 수 있어 클러스터 관리자가 스토리지를 사전 프로비저닝할 필요가 없어 동적 볼륨 프로비저닝을 지원합니다. 원하는 경우 이 기본 저장소 클래스를 비활성화할 수 있습니다( 기본 저장소 클래스 관리 참조).
  • vSphere CSI 드라이버: 이 드라이버를 사용하면 vSphere PV를 생성 및 마운트할 수 있습니다. OpenShift Container Platform 4.19에서 드라이버 버전은 3.3.1입니다. vSphere CSI 드라이버는 XFS 및 Ext4를 포함하여 기본 Red Hat Core 운영 체제 릴리스에서 지원하는 모든 파일 시스템을 지원합니다. 지원되는 파일 시스템에 대한 자세한 내용은 사용 가능한 파일 시스템 개요를 참조하세요.
참고

새로 설치하는 경우 OpenShift Container Platform 4.13 이상에서는 vSphere 인트리 볼륨 플러그인을 해당 CSI 드라이버로 자동 마이그레이션합니다. OpenShift Container Platform 4.15 이상으로 업데이트하면 자동 마이그레이션도 제공됩니다. 업데이트 및 마이그레이션에 대한 자세한 내용은 CSI 자동 마이그레이션을 참조하세요.

CSI 자동 마이그레이션이 원활해야 합니다. 마이그레이션은 영구 볼륨, 영구 볼륨 클레임 및 스토리지 클래스와 같은 기존 API 오브젝트를 사용하는 방법을 변경하지 않습니다.

6.21.2. CSI 정보

스토리지 벤더는 일반적으로 Kubernetes의 일부로 스토리지 드라이버를 제공합니다. 컨테이너 스토리지 인터페이스(CSI)를 구현하면 타사 공급업체는 Kubernetes의 핵심 코드를 변경하지 않고도 표준 인터페이스를 사용하여 스토리지 플러그인을 제공할 수 있습니다.

CSI 운영자는 OpenShift Container Platform 사용자에게 트리 내 볼륨 플러그인으로는 불가능한 볼륨 스냅샷과 같은 저장 옵션을 제공합니다.

6.21.3. vSphere CSI 제한 사항

다음 제한 사항은 vSphere Container Storage Interface(CSI) 드라이버 운영자에게 적용됩니다.

  • vSphere CSI 드라이버는 동적 및 정적 프로비저닝을 지원합니다. 그러나 PV 사양에서 정적 프로비저닝을 사용하는 경우 csi.volumeAttributes 에서 storage.kubernetes.io/csiProvisionerIdentity 키를 사용하지 마세요. 이 키는 동적으로 프로비저닝된 PV를 나타냅니다.
  • vSphere 클라이언트 인터페이스를 사용하여 데이터 저장소 간에 영구 컨테이너 볼륨을 마이그레이션하는 것은 OpenShift Container Platform에서 지원되지 않습니다.

6.21.4. vSphere 스토리지 정책

vSphere CSI Driver Operator 스토리지 클래스는 vSphere의 스토리지 정책을 사용합니다. OpenShift Container Platform은 클라우드 구성에 구성된 데이터 저장소를 대상으로 하는 스토리지 정책을 자동으로 생성합니다.

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: thin-csi
provisioner: csi.vsphere.vmware.com
parameters:
  StoragePolicyName: "$openshift-storage-policy-xxxx"
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: false
reclaimPolicy: Delete
Copy to Clipboard Toggle word wrap

6.21.5. ReadWriteMany vSphere 볼륨 지원

기본 vSphere 환경이 vSAN 파일 서비스를 지원하는 경우 OpenShift Container Platform에서 설치한 vSphere Container Storage Interface(CSI) Driver Operator는 RWX(ReadWriteMany) 볼륨의 프로비저닝을 지원합니다. vSAN 파일 서비스가 구성되지 않은 경우 사용 가능한 액세스 모드는 RWO(ReadWriteOnce)뿐입니다. vSAN 파일 서비스가 구성되어 있지 않고 RWX를 요청하면 볼륨이 생성되지 않고 오류가 기록됩니다.

사용자 환경에서 vSAN 파일 서비스를 구성하는 방법에 대한 자세한 내용은 vSAN 파일 서비스를 참조하세요.

다음과 같은 영구 볼륨 클레임(PVC)을 수행하여 RWX 볼륨을 요청할 수 있습니다.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: myclaim
spec:
  resources:
    requests:
      storage: 1Gi
  accessModes:
     - ReadWriteMany
  storageClassName: thin-csi
Copy to Clipboard Toggle word wrap

RWX 볼륨 유형의 PVC를 요청하면 vSAN 파일 서비스에서 지원하는 영구 볼륨(PV)이 프로비저닝됩니다.

6.21.6. VMware vSphere CSI Driver Operator 요구 사항

vSphere Container Storage Interface(CSI) 드라이버 운영자를 설치하려면 다음 요구 사항을 충족해야 합니다.

  • VMware vSphere 버전: 7.0 업데이트 2 이상 또는 VMware Cloud Foundation 4.3 이상; 8.0 업데이트 1 이상 또는 VMware Cloud Foundation 5.0 이상
  • vCenter 버전: 7.0 업데이트 2 이상 또는 VMware Cloud Foundation 4.3 이상; 8.0 업데이트 1 이상 또는 VMware Cloud Foundation 5.0 이상
  • 하드웨어 버전 15 이상의 가상 머신
  • 클러스터에 타사 vSphere CSI 드라이버가 아직 설치되어 있지 않습니다.

클러스터에 타사 vSphere CSI 드라이버가 있는 경우 OpenShift Container Platform은 이를 덮어쓰지 않습니다. 타사 vSphere CSI 드라이버가 있으면 OpenShift Container Platform을 OpenShift Container Platform 4.13 이상으로 업데이트할 수 없습니다.

참고

VMware vSphere CSI Driver Operator는 설치 매니페스트에서 platform:vsphere 로 배포된 클러스터에서만 지원됩니다.

CSI(Container Storage Interface) 드라이버, vSphere CSI 드라이버 운영자, vSphere 문제 감지 운영자에 대한 사용자 지정 역할을 만들 수 있습니다. 사용자 지정 역할에는 각 vSphere 개체에 최소한의 권한 집합을 할당하는 권한 집합이 포함될 수 있습니다. 즉, CSI 드라이버, vSphere CSI 드라이버 운영자, vSphere 문제 감지 운영자는 이러한 개체와 기본적인 상호 작용을 설정할 수 있습니다.

중요

vCenter에 OpenShift Container Platform 클러스터를 설치하는 작업은 "필요한 vCenter 계정 권한" 섹션에 설명된 대로 전체 권한 목록에 대해 테스트됩니다. 권한의 전체 목록을 준수하면 제한된 권한 집합으로 사용자 지정 역할을 생성할 때 발생할 수 있는 예상치 못하고 지원되지 않는 동작의 가능성을 줄일 수 있습니다.

타사 CSI 드라이버를 제거하려면 타사 vSphere CSI 드라이버 제거를 참조하십시오.

6.21.7. 타사 vSphere CSI 드라이버 운영자 제거

OpenShift Container Platform 4.10 이상에는 Red Hat에서 지원하는 vSphere Container Storage Interface(CSI) Operator Driver의 기본 제공 버전이 포함되어 있습니다. 커뮤니티 또는 다른 공급업체에서 제공하는 vSphere CSI 드라이버를 설치한 경우 OpenShift Container Platform의 다음 주요 버전(예: 4.13 이상)에 대한 업데이트가 클러스터에서 비활성화될 수 있습니다.

OpenShift Container Platform 4.12 이상에서는 클러스터가 완전히 지원되며 4.12.z와 같은 z-stream 릴리스의 업데이트는 차단되지 않지만 OpenShift Container Platform의 다음 주요 버전으로 업데이트하기 전에 타사 vSphere CSI 드라이버를 제거하여 이 상태를 수정해야 합니다. 타사 vSphere CSI 드라이버를 제거해도 연관된 영구 볼륨(PV) 개체를 삭제할 필요가 없으며 데이터 손실도 발생하지 않습니다.

참고

이러한 지침은 완전하지 않을 수 있으므로 공급업체나 커뮤니티 제공업체의 제거 가이드를 참조하여 드라이버와 구성 요소를 제거하세요.

타사 vSphere CSI 드라이버를 제거하려면:

  1. 타사 vSphere CSI 드라이버(VMware vSphere Container Storage Plugin) 배포 및 Daemonset 개체를 삭제합니다.
  2. 타사 vSphere CSI 드라이버와 함께 이전에 설치된 configmap 및 secret 오브젝트를 삭제합니다.
  3. 타사 vSphere CSI 드라이버 CSIDriver 개체를 삭제합니다.

    $ oc delete CSIDriver csi.vsphere.vmware.com
    Copy to Clipboard Toggle word wrap
    csidriver.storage.k8s.io "csi.vsphere.vmware.com" deleted
    Copy to Clipboard Toggle word wrap

OpenShift Container Platform 클러스터에서 타사 vSphere CSI 드라이버를 제거하면 Red Hat의 vSphere CSI Driver Operator 설치가 자동으로 재개되고, OpenShift Container Platform 4.11 이상으로의 업그레이드를 차단할 수 있는 모든 조건이 자동으로 제거됩니다. 기존 vSphere CSI PV 객체가 있는 경우 이제 해당 객체의 수명 주기는 Red Hat의 vSphere CSI Driver Operator에 의해 관리됩니다.

6.21.8. vSphere 영구 디스크 암호화

vSphere 상에서 실행되는 OpenShift Container Platform에서 가상 머신(VM)과 동적으로 프로비저닝된 영구 볼륨(PV)을 암호화할 수 있습니다.

참고

OpenShift Container Platform은 RWX로 암호화된 PV를 지원하지 않습니다. 암호화된 스토리지 정책을 사용하는 스토리지 클래스에서는 RWX PV를 요청할 수 없습니다.

PV를 암호화하려면 먼저 VM을 암호화해야 하며, 이는 설치 중이나 설치 후에 수행할 수 있습니다.

VM 암호화에 대한 자세한 내용은 다음을 참조하세요.

VM을 암호화한 후 vSphere Container Storage Interface(CSI) 드라이버를 사용하여 동적 암호화 볼륨 프로비저닝을 지원하는 스토리지 클래스를 구성할 수 있습니다. 다음 두 가지 방법 중 하나를 사용하여 이를 달성할 수 있습니다.

  • 데이터 저장소 URL : 이 방법은 그다지 유연하지 않으며 단일 데이터 저장소를 사용해야 합니다. 또한 토폴로지 인식 프로비저닝을 지원하지 않습니다.
  • 태그 기반 배치 : 프로비저닝된 볼륨을 암호화하고 태그 기반 배치를 사용하여 특정 데이터 저장소를 대상으로 지정합니다.

6.21.8.1. 데이터 저장소 URL 사용

프로세스

데이터 저장소 URL을 사용하여 암호화하려면:

  1. 암호화를 지원하는 데이터 저장소의 기본 저장 정책 이름을 찾아보세요.

    이는 VM 암호화에 사용된 정책과 동일합니다.

  2. 이 스토리지 정책을 사용하는 스토리지 클래스를 만듭니다.

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
     name: encryption
    provisioner: csi.vsphere.vmware.com
    parameters:
     storagePolicyName: <storage-policy-name> 
    1
    
     datastoreurl: "ds:///vmfs/volumes/vsan:522e875627d-b090c96b526bb79c/"
    Copy to Clipboard Toggle word wrap
    1
    암호화를 지원하는 데이터 저장소의 기본 저장소 정책 이름

6.21.8.2. 태그 기반 배치 사용

프로세스

태그 기반 배치를 사용하여 암호화하려면:

  1. vCenter에서 이 스토리지 클래스에서 사용할 수 있는 데이터 저장소에 태그를 지정하기 위한 범주를 만듭니다. 또한 StoragePod(Datastore 클러스터) , Datastore (데이터 저장소) 및 폴더 가 생성된 카테고리에 대해 Associable Entities로 선택되어 있는지 확인합니다.
  2. vCenter에서 앞서 만든 카테고리를 사용하는 태그를 만듭니다.
  3. 이전에 생성된 태그를 스토리지 클래스에서 사용할 수 있는 각 데이터 저장소에 할당합니다. 데이터 저장소가 OpenShift Container Platform 클러스터에 참여하는 호스트와 공유되는지 확인하세요.
  4. vCenter의 기본 메뉴에서 정책 및 프로필을 클릭합니다.
  5. 정책 및 프로필 페이지의 탐색 창에서 VM 스토리지 정책을 클릭합니다.
  6. 만들기를 클릭하세요.
  7. 저장 정책의 이름을 입력합니다.
  8. 호스트 기반 규칙 사용태그 기반 배치 규칙 사용을 선택합니다.
  9. 다음 탭에서:

    1. 암호화기본 암호화 속성을 선택합니다.
    2. 앞서 생성한 태그 카테고리를 선택하고, 선택된 태그를 선택합니다. 정책이 일치하는 데이터 저장소를 선택하는지 확인하세요.
  10. 저장 정책을 생성합니다.
  11. 스토리지 정책을 사용하는 스토리지 클래스를 만듭니다.

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
     name:  csi-encrypted
    provisioner: csi.vsphere.vmware.com
    reclaimPolicy: Delete
    volumeBindingMode: WaitForFirstConsumer
    parameters:
     storagePolicyName: <storage-policy-name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    암호화를 위해 생성한 저장 정책의 이름

6.21.9. vSphere CSI에 대한 여러 vCenter 지원

고가용성을 위해 공유 스토리지 없이 여러 vSphere vCenter 클러스터에 OpenShift Container Platform을 배포하는 것이 도움이 될 수 있습니다. OpenShift Container Platform v4.17 이상에서 이 기능을 지원합니다.

참고

여러 개의 vCenter는 설치 중에 만 구성할 수 있습니다. 설치 후에는 여러 개의 vCenter를 구성 할 수 없습니다 .

지원되는 vCenter 클러스터의 최대 수는 3개입니다.

6.21.9.1. 설치 중 여러 vCenter 구성

설치 중에 여러 vCenter를 구성하려면:

  • 설치 중에 여러 개의 vSphere 클러스터를 지정합니다. 자세한 내용은 "vSphere에 대한 설치 구성 매개변수"를 참조하세요.

6.21.10. vSphere CSI 토폴로지 개요

OpenShift Container Platform은 다양한 영역과 지역에 vSphere용 OpenShift Container Platform을 배포할 수 있으므로 여러 컴퓨팅 클러스터 및 데이터 센터에 배포할 수 있으므로 단일 장애 지점을 방지할 수 있습니다.

이 작업은 vCenter에서 영역 및 지역 범주를 정의한 다음 이러한 범주를 컴퓨팅 클러스터와 같은 다양한 장애 도메인에 할당하고 이러한 영역 및 지역 범주에 대한 태그를 생성하여 수행됩니다. 적절한 카테고리를 만들고 vCenter 개체에 태그를 지정한 후에는 장애 도메인에서 포드 일정을 담당하는 가상 머신(VM)을 생성하는 추가 머신 세트를 만들 수 있습니다.

다음 예제에서는 하나의 지역과 두 개의 영역을 갖는 두 개의 실패 도메인을 정의합니다.

Expand
표 6.6. 하나의 리전 및 두 개의 영역이 있는 vSphere 스토리지 토폴로지
컴퓨팅 클러스터실패 도메인설명

컴퓨팅 클러스터: ocp1, 데이터 센터: Atlanta

openshift-region: us-east-1(태그), openshift-zone: us-east-1a(태그)

이는 us-east-1a 영역을 가진 us-east-1 지역의 장애 도메인을 정의합니다.

컴퓨터 클러스터: ocp2, 데이터 센터: Atlanta

openshift-region: us-east-1(태그), openshift-zone: us-east-1b(태그)

이는 us-east-1b라는 동일한 지역 내에 다른 장애 도메인을 정의합니다.

6.21.10.1. vSphere CSI 토폴로지 요구 사항

vSphere CSI 토폴로지에 다음 지침이 권장됩니다.

  • 호스트가 아닌 데이터 센터 및 컴퓨팅 클러스터에 토폴로지 태그를 추가하는 것이 좋습니다.

    vSphere -problem-detectoropenshift-region 또는 openshift-zone 태그가 데이터 센터 또는 컴퓨팅 클러스터 수준에서 정의되지 않은 경우 경고를 제공합니다. 각 토폴로지 태그(openshift-region 또는 openshift-zone)가 계층 구조에서 한 번만 발생해야 합니다.

    참고

    이 권장 사항을 무시하면 CSI 드라이버에서 로그 경고만 발생하고 호스트와 같이 계층 구조에서 더 낮은 중복 태그는 무시됩니다. VMware에서는 이를 잘못된 구성으로 간주하므로 문제를 방지하려면 이 구성을 사용해서는 안 됩니다.

  • 토폴로지 인식 환경에서 볼륨 프로비저닝 요청은 주어진 토폴로지 세그먼트 아래의 모든 호스트가 액세스할 수 있는 데이터 저장소에 볼륨을 생성하려고 시도합니다. 여기에는 Kubernetes 노드 VM이 실행되지 않는 호스트가 포함됩니다. 예를 들어 vSphere Container Storage 플러그인 드라이버가 데이터 센터 dc-1 에 적용된 zone-a 에서 볼륨을 프로비저닝하라는 요청을 수신하는 경우 dc-1 아래의 모든 호스트에서 볼륨 프로비저닝을 위해 선택한 데이터 저장소에 액세스할 수 있어야 합니다. 호스트에는 dc-1 아래에 직접 있는 것과 dc-1 내부의 클러스터의 일부인 호스트가 포함됩니다.
  • 추가 권장 사항을 보려면 토폴로지를 사용한 배포를 위한 VMware 지침 및 모범 사례 섹션을 읽어보세요.

6.21.10.2. 설치 중 vSphere 스토리지 토폴로지 생성

6.21.10.2.1. 프로세스
  • 설치 중에 토폴로지를 지정하세요. VMware vCenter에 대한 지역 및 영역 구성 섹션을 참조하세요.

추가 작업은 필요하지 않으며 OpenShift Container Platform에서 생성된 기본 스토리지 클래스는 토폴로지를 인식하고 다양한 장애 도메인에서 볼륨 프로비저닝을 허용해야 합니다.

6.21.10.3. vSphere 스토리지 토폴로지 후 설치 생성

6.21.10.3.1. 프로세스
  1. VMware vCenter vSphere 클라이언트 GUI에서 적절한 영역 및 지역 카테고리와 태그를 정의합니다.

    vSphere에서는 임의의 이름으로 범주를 생성할 수 있지만, OpenShift Container Platform에서는 토폴로지 범주를 정의할 때 openshift-regionopenshift-zone 이름을 사용하는 것을 강력히 권장합니다.

    vSphere 카테고리 및 태그에 대한 자세한 내용은 VMware vSphere 설명서를 참조하세요.

  2. OpenShift Container Platform에서 장애 도메인을 생성합니다. vSphere에서 클러스터의 여러 리전 및 영역 지정 섹션을 참조하십시오.
  3. 장애 도메인에서 데이터 저장소에 할당할 태그를 생성합니다.

    OpenShift Container Platform이 두 개 이상의 장애 도메인을 확장하면 데이터 저장소가 해당 장애 도메인에서 공유되지 않을 수 있습니다. 여기서 PV(영구 볼륨)의 토폴로지 인식 프로비저닝이 유용합니다.

    1. vCenter에서 데이터 저장소 태그를 지정하는 카테고리를 생성합니다. 예를 들면 openshift-zonal-datastore-cat 입니다. 카테고리가 OpenShift Container Platform 클러스터에 참여하는 데이터 저장소에 태그를 지정하는 데 고유하게 사용되는 경우 다른 카테고리 이름을 사용할 수 있습니다. 또한 StoragePod(Datastore 클러스터) , Datastore (데이터 저장소) 및 폴더 가 생성된 카테고리에 대해 Associable Entities로 선택되어 있는지 확인합니다.
    2. vCenter에서 이전에 생성된 카테고리를 사용하는 태그를 생성합니다. 이 예에서는 태그 이름 openshift-zonal-datastore 를 사용합니다.
    3. 이전에 생성된 태그(이 예에서는 openshift-zonal-datastore)를 동적 프로비저닝으로 간주하는 실패 도메인의 각 데이터 저장소에 할당합니다.

      참고

      데이터 저장소 카테고리 및 태그에 원하는 모든 이름을 사용할 수 있습니다. 이 예제에서 사용되는 이름은 권장 사항으로 제공됩니다. OpenShift Container Platform 클러스터의 모든 호스트와 공유되는 데이터 저장소만 고유하게 정의하는 태그 및 카테고리가 있는지 확인합니다.

  4. 필요에 따라 각 실패 도메인의 태그 기반 데이터 저장소를 대상으로 하는 스토리지 정책을 생성합니다.

    1. vCenter의 주 메뉴에서 정책 및 프로필을 클릭합니다.
    2. 정책 및 프로필 페이지의 탐색 창에서 VM Storage Policies 를 클릭합니다.
    3. 생성을 클릭합니다.
    4. 스토리지 정책의 이름을 입력합니다.
    5. 규칙의 경우 태그 배치 규칙을 선택하고 원하는 데이터 저장소를 대상으로 하는 태그 및 카테고리(이 예에서는 openshift-zonal-datastore 태그)를 선택합니다.

      데이터 저장소는 스토리지 호환성 테이블에 나열됩니다.

  5. 새 영역 스토리지 정책을 사용하는 새 스토리지 클래스를 생성합니다.

    1. 스토리지 > StorageClass 를 클릭합니다.
    2. StorageClasses 페이지에서 StorageClass 만들기 를 클릭합니다.
    3. 이름에 새 스토리지 클래스의 이름을 입력합니다.
    4. Provisioner 에서 csi.vsphere.vmware.com 을 선택합니다.
    5. 추가 매개변수 에서 StoragePolicyName 매개변수의 경우 Value 를 이전에 생성한 새 영역 스토리지 정책의 이름으로 설정합니다.
    6. 생성을 클릭합니다.

      출력 예

      kind: StorageClass
      apiVersion: storage.k8s.io/v1
      metadata:
        name: zoned-sc 
      1
      
      provisioner: csi.vsphere.vmware.com
      parameters:
        StoragePolicyName: zoned-storage-policy 
      2
      
      reclaimPolicy: Delete
      allowVolumeExpansion: true
      volumeBindingMode: WaitForFirstConsumer
      Copy to Clipboard Toggle word wrap

      1
      새 토폴로지 인식 스토리지 클래스 이름입니다.
      2
      영역화된 스토리지 정책을 지정합니다.
      참고

      이전 YAML 파일을 편집하고 oc create -f $FILE 명령을 실행하여 스토리지 클래스를 생성할 수도 있습니다.

6.21.10.4. 인프라 토폴로지 없이 vSphere 스토리지 토폴로지 생성

참고

OpenShift Container Platform은 토폴로지 인식 설정에서 실패 도메인을 지정하는 데 인프라 오브젝트를 사용하는 것이 좋습니다. 인프라 오브젝트에 실패 도메인을 지정하고 ClusterCSIDriver 오브젝트에 topology-categories를 지정하는 것은 지원되지 않는 작업입니다.

6.21.10.4.1. 프로세스
  1. VMware vCenter vSphere 클라이언트 GUI에서 적절한 영역 및 지역 분류 및 태그를 정의합니다.

    vSphere를 사용하면 임의의 이름으로 카테고리를 생성할 수 있지만 OpenShift Container Platform은 토폴로지를 정의하는 데 openshift-regionopenshift-zone 이름을 사용하는 것이 좋습니다.

    vSphere 카테고리 및 태그에 대한 자세한 내용은 VMware vSphere 설명서를 참조하십시오.

  2. CSI(컨테이너 스토리지 인터페이스) 드라이버가 이 토폴로지를 감지할 수 있도록 하려면 clusterCSIDriver 오브젝트 YAML 파일 driverConfig 섹션을 편집합니다.

    • 이전에 생성한 openshift-zoneopenshift-region 카테고리를 지정합니다.
    • driverTypevSphere 로 설정합니다.

      ~ $ oc edit clustercsidriver csi.vsphere.vmware.com -o yaml
      Copy to Clipboard Toggle word wrap

      출력 예

      apiVersion: operator.openshift.io/v1
      kind: ClusterCSIDriver
      metadata:
        name: csi.vsphere.vmware.com
      spec:
        logLevel: Normal
        managementState: Managed
        observedConfig: null
        operatorLogLevel: Normal
        unsupportedConfigOverrides: null
        driverConfig:
          driverType: vSphere 
      1
      
            vSphere:
              topologyCategories: 
      2
      
              - openshift-zone
              - openshift-region
      Copy to Clipboard Toggle word wrap

      1
      driverTypevSphere 로 설정되어 있는지 확인합니다.
      2
      vCenter에서 이전에 생성된 OpenShift -zoneopenshift-region 카테고리입니다.
  3. 다음 명령을 실행하여 CSINode 오브젝트에 토폴로지 키가 있는지 확인합니다.

    ~ $ oc get csinode
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME DRIVERS AGE
    co8-4s88d-infra-2m5vd 1 27m
    co8-4s88d-master-0 1 70m
    co8-4s88d-master-1 1 70m
    co8-4s88d-master-2 1 70m
    co8-4s88d-worker-j2hmg 1 47m
    co8-4s88d-worker-mbb46 1 47m
    co8-4s88d-worker-zlk7d 1 47m
    Copy to Clipboard Toggle word wrap

    ~ $ oc get csinode co8-4s88d-worker-j2hmg -o yaml
    Copy to Clipboard Toggle word wrap

    출력 예

    ...
    spec:
      drivers:
      - allocatable:
          count: 59
      name: csi-vsphere.vmware.com
      nodeID: co8-4s88d-worker-j2hmg
      topologyKeys: 
    1
    
      - topology.csi.vmware.com/openshift-zone
      - topology.csi.vmware.com/openshift-region
    Copy to Clipboard Toggle word wrap

    1
    vSphere openshift-zoneopenshift-region catagories의 토폴로지 키입니다.
    참고

    CSINode 오브젝트는 업데이트된 토폴로지 정보를 수신하는 데 약간의 시간이 걸릴 수 있습니다. 드라이버가 업데이트되면 CSINode 오브젝트에 토폴로지 키가 있어야 합니다.

  4. 장애 도메인에서 데이터 저장소에 할당할 태그를 생성합니다.

    OpenShift Container Platform이 두 개 이상의 장애 도메인을 확장하면 데이터 저장소가 해당 장애 도메인에서 공유되지 않을 수 있습니다. 여기서 PV(영구 볼륨)의 토폴로지 인식 프로비저닝이 유용합니다.

    1. vCenter에서 데이터 저장소 태그를 지정하는 카테고리를 생성합니다. 예를 들면 openshift-zonal-datastore-cat 입니다. 카테고리가 OpenShift Container Platform 클러스터에 참여하는 데이터 저장소에 태그를 지정하는 데 고유하게 사용되는 경우 다른 카테고리 이름을 사용할 수 있습니다. 또한 StoragePod(Datastore 클러스터) , Datastore (데이터 저장소) 및 폴더 가 생성된 카테고리에 대해 Associable Entities로 선택되어 있는지 확인합니다.
    2. vCenter에서 이전에 생성된 카테고리를 사용하는 태그를 생성합니다. 이 예에서는 태그 이름 openshift-zonal-datastore 를 사용합니다.
    3. 이전에 생성된 태그(이 예에서는 openshift-zonal-datastore)를 동적 프로비저닝으로 간주하는 실패 도메인의 각 데이터 저장소에 할당합니다.

      참고

      카테고리 및 태그에 대해 원하는 모든 이름을 사용할 수 있습니다. 이 예제에서 사용되는 이름은 권장 사항으로 제공됩니다. OpenShift Container Platform 클러스터의 모든 호스트와 공유되는 데이터 저장소만 고유하게 정의하는 태그 및 카테고리가 있는지 확인합니다.

  5. 각 실패 도메인의 태그 기반 데이터 저장소를 대상으로 하는 스토리지 정책을 생성합니다.

    1. vCenter의 주 메뉴에서 정책 및 프로필을 클릭합니다.
    2. 정책 및 프로필 페이지의 탐색 창에서 VM Storage Policies 를 클릭합니다.
    3. 생성을 클릭합니다.
    4. 스토리지 정책의 이름을 입력합니다.
    5. 규칙의 경우 태그 배치 규칙을 선택하고 원하는 데이터 저장소를 대상으로 하는 태그 및 카테고리(이 예에서는 openshift-zonal-datastore 태그)를 선택합니다.

      데이터 저장소는 스토리지 호환성 테이블에 나열됩니다.

  6. 새 영역 스토리지 정책을 사용하는 새 스토리지 클래스를 생성합니다.

    1. 스토리지 > StorageClass 를 클릭합니다.
    2. StorageClasses 페이지에서 StorageClass 만들기 를 클릭합니다.
    3. 이름에 새 스토리지 클래스의 이름을 입력합니다.
    4. Provisioner 에서 csi.vsphere.vmware.com 을 선택합니다.
    5. 추가 매개변수 에서 StoragePolicyName 매개변수의 경우 Value 를 이전에 생성한 새 영역 스토리지 정책의 이름으로 설정합니다.
    6. 생성을 클릭합니다.

      출력 예

      kind: StorageClass
      apiVersion: storage.k8s.io/v1
      metadata:
        name: zoned-sc 
      1
      
      provisioner: csi.vsphere.vmware.com
      parameters:
        StoragePolicyName: zoned-storage-policy 
      2
      
      reclaimPolicy: Delete
      allowVolumeExpansion: true
      volumeBindingMode: WaitForFirstConsumer
      Copy to Clipboard Toggle word wrap

      1
      새로운 토폴로지 인식 스토리지 클래스 이름입니다.
      2
      구역화된 저장 정책을 지정합니다.
      참고

      이전 YAML 파일을 편집하고 oc create -f $FILE 명령을 실행하여 스토리지 클래스를 만들 수도 있습니다.

6.21.10.5. 결과

토폴로지 인식 스토리지 클래스에서 영구 볼륨 클레임(PVC)과 PV를 생성하는 것은 실제로 영역별이며, 포드가 예약된 방식에 따라 해당 영역의 데이터 저장소를 사용해야 합니다.

$ oc get pv <pv_name> -o yaml
Copy to Clipboard Toggle word wrap

출력 예

...
nodeAffinity:
  required:
    nodeSelectorTerms:
    - matchExpressions:
      - key: topology.csi.vmware.com/openshift-zone 
1

        operator: In
        values:
        - <openshift_zone>
      - key: topology.csi.vmware.com/openshift-region 
2

        operator: In
        values:
        - <openshift_region>
...
peristentVolumeclaimPolicy: Delete
storageClassName: <zoned_storage_class_name> 
3

volumeMode: Filesystem
...
Copy to Clipboard Toggle word wrap

1 2
PV에는 구역화된 키가 있습니다.
3
PV는 구역별 저장 클래스를 사용합니다.

6.21.11. vSphere의 최대 스냅샷 수 변경

vSphere Container Storage Interface(CSI)에서 볼륨당 스냅샷의 기본 최대 개수는 3개입니다. 볼륨당 최대 32개까지 변경할 수 있습니다.

하지만 스냅샷 최대값을 늘리면 성능 저하가 발생하므로 더 나은 성능을 위해 볼륨당 스냅샷을 2~3개만 사용하세요.

VMware 스냅샷 성능에 대한 자세한 권장 사항은 추가 리소스를 참조하세요.

사전 요구 사항

  • 관리자 권한으로 클러스터에 접근합니다.

프로세스

  1. 다음 명령을 실행하여 현재 비밀번호를 확인하세요.

    $ oc -n openshift-cluster-csi-drivers get secret/vsphere-csi-config-secret -o jsonpath='{.data.cloud\.conf}' | base64 -d
    Copy to Clipboard Toggle word wrap

    출력 예

    # Labels with topology values are added dynamically via operator
    [Global]
    cluster-id = vsphere-01-cwv8p
    
    # Populate VCenters (multi) after here
    [VirtualCenter "vcenter.openshift.com"]
    insecure-flag           = true
    datacenters             = DEVQEdatacenter
    password                = "xxxxxxxx"
    user                    = "xxxxxxxx@devcluster.openshift.com"
    migration-datastore-url = ds:///vmfs/volumes/vsan:52c842f232751e0d-3253aadeac21ca82/
    Copy to Clipboard Toggle word wrap

    이 예에서는 스냅샷의 글로벌 최대 수가 구성되지 않았으므로 기본값 3이 적용됩니다.

  2. 다음 명령을 실행하여 스냅샷 제한을 변경하세요.

    • 글로벌 스냅샷 제한 설정:

      $ oc patch clustercsidriver/csi.vsphere.vmware.com --type=merge -p '{"spec":{"driverConfig":{"vSphere":{"globalMaxSnapshotsPerBlockVolume": 10}}}}'
      
      clustercsidriver.operator.openshift.io/csi.vsphere.vmware.com patched
      Copy to Clipboard Toggle word wrap

      이 예에서 글로벌 제한이 10(globalMaxSnapshotsPerBlockVolume 으로 설정)으로 변경됩니다.

    • 가상 볼륨 스냅샷 제한 설정:

      이 매개변수는 가상 볼륨 데이터 저장소에만 제한을 설정합니다. 가상 볼륨의 최대 스냅샷 한도는 설정된 경우 글로벌 제약 조건을 무시하지만, 설정되지 않은 경우 기본적으로 글로벌 한도가 적용됩니다.

      $ oc patch clustercsidriver/csi.vsphere.vmware.com --type=merge -p '{"spec":{"driverConfig":{"vSphere":{"granularMaxSnapshotsPerBlockVolumeInVVOL": 5}}}}'
      clustercsidriver.operator.openshift.io/csi.vsphere.vmware.com patched
      Copy to Clipboard Toggle word wrap

      이 예에서 가상 볼륨 제한은 5로 변경됩니다( granularMaxSnapshotsPerBlockVolumeInVVOL은 5로 설정됨).

    • vSAN 스냅샷 제한 설정:

      이 매개변수는 vSAN 데이터 저장소에만 한도를 설정합니다. vSAN 최대 스냅샷 한도는 설정된 경우 글로벌 제약 조건을 무시하지만, 설정되지 않은 경우 기본적으로 글로벌 한도가 적용됩니다. vSAN ESA 설정에서 최대값을 32로 설정할 수 있습니다.

      $ oc patch clustercsidriver/csi.vsphere.vmware.com --type=merge -p '{"spec":{"driverConfig":{"vSphere":{"granularMaxSnapshotsPerBlockVolumeInVSAN": 7}}}}'
      clustercsidriver.operator.openshift.io/csi.vsphere.vmware.com patched
      Copy to Clipboard Toggle word wrap

      이 예에서 vSAN 제한은 7로 변경됩니다( granularMaxSnapshotsPerBlockVolumeInVSAN 은 7로 설정됨).

검증

  • 다음 명령을 실행하여 변경 사항이 구성 맵에 반영되었는지 확인하세요.

    $ oc -n openshift-cluster-csi-drivers get secret/vsphere-csi-config-secret -o jsonpath='{.data.cloud\.conf}' | base64 -d
    Copy to Clipboard Toggle word wrap

    출력 예

    # Labels with topology values are added dynamically via operator
    [Global]
    cluster-id = vsphere-01-cwv8p
    
    # Populate VCenters (multi) after here
    [VirtualCenter "vcenter.openshift.com"]
    insecure-flag           = true
    datacenters             = DEVQEdatacenter
    password                = "xxxxxxxx"
    user                    = "xxxxxxxx@devcluster.openshift.com"
    migration-datastore-url = ds:///vmfs/volumes/vsan:52c842f232751e0d-3253aadeac21ca82/
    
    [Snapshot]
    global-max-snapshots-per-block-volume = 10 
    1
    Copy to Clipboard Toggle word wrap

    1
    global-max-snapshots-per-block-volume이 이제 10으로 설정되었습니다.

6.21.12. vSphere용 데이터스토어 간 CNS 볼륨 마이그레이션

현재 데이터스토어의 공간이 부족하거나 성능이 더 뛰어난 데이터스토어로 이동하려는 경우 VMware vSphere Cloud Native Storage(CNS) 볼륨을 데이터스토어 간에 마이그레이션할 수 있습니다. 이는 첨부된 볼륨과 분리된 볼륨 모두에 적용됩니다.

제한

  • VMware vSphere 8.0.2 이상 또는 vSphere 7.0 업데이트 3o 이상이 필요합니다.
  • 한 번에 한 개의 볼륨만 마이그레이션할 수 있습니다.
  • RWX 볼륨은 지원되지 않습니다.
  • CNS 볼륨은 OpenShift Container Platform 클러스터를 구성하는 모든 호스트와 공유되는 데이터 저장소로만 마이그레이션해야 합니다.
  • 서로 다른 데이터 센터의 서로 다른 데이터 저장소 간에 볼륨을 마이그레이션하는 것은 지원되지 않습니다.

데이터스토어 간에 CNS 볼륨을 마이그레이션하는 방법에 대한 자세한 내용은 해당되는 경우 vSphere v8.0 또는 vSphere v7.0 에 대한 설명서를 참조하세요.

6.21.13. vSphere에서 스토리지 비활성화 및 활성화

클러스터 관리자는 2일차 작업으로 VMware vSphere Container Storage Interface(CSI) 드라이버를 비활성화하여 vSphere CSI 드라이버가 vSphere 설정과 상호 작용하지 않도록 할 수 있습니다.

6.21.13.1. vSphere에서 스토리지 비활성화 및 활성화의 결과

다음 표에서는 vSphere에서 스토리지를 비활성화하고 활성화하는 결과에 대해 설명합니다.

Expand
표 6.7. vSphere에서 스토리지 비활성화/활성화의 결과
비활성화활성화
  • vSphere CSI Driver Operator는 CSI 드라이버를 제거합니다.
  • 스토리지 컨테이너 오케스트레이션(CO)이 건강해야 합니다.
  • vSphere 문제 감지기는 계속 실행되지만 경고나 이벤트를 발생시키지 않으며 확인 빈도도 낮습니다(24시간에 한 번).
  • 기존의 모든 영구 볼륨(PV), 영구 볼륨 클레임(PVC) 및 vSphere 스토리지 정책은 변경되지 않습니다.

    • vSphere PV는 새로운 Pod에서 사용할 수 없습니다.
    • vSphere PV는 기존 포드의 기존 노드에 영구적으로 마운트되어 연결되어 있습니다. 이러한 포드는 삭제 후에도 무기한 종료 상태로 남아 있습니다.
  • 저장소 클래스가 제거되었습니다

* vSphere CSI Driver Operator가 CSI 드라이버를 다시 설치합니다.

* 필요한 경우 vSphere CSI Driver Operator가 vSphere 스토리지 정책을 생성합니다.

6.21.13.2. vSphere에서 스토리지 비활성화 및 활성화

중요

이 절차를 실행하기 전에 앞의 "vSphere에서 스토리지 비활성화 및 활성화의 결과" 표와 사용자 환경에 미칠 수 있는 잠재적 영향을 주의 깊게 검토하세요.

프로세스

vSphere에서 스토리지를 비활성화하거나 활성화하려면:

  1. 관리 > CustomResourceDefinitions를 클릭합니다.
  2. CustomResourceDefinitions 페이지의 이름 드롭다운 상자 옆에 "clustercsidriver"를 입력합니다.
  3. CRD ClusterCSIDriver를 클릭합니다.
  4. 인스턴스 탭을 클릭합니다.
  5. csi.vsphere.vmware.com을 클릭합니다.
  6. YAML 탭을 클릭합니다.
  7. spec.managementState 의 경우 값을 Removed 또는 Managed 로 변경합니다.

    • 제거됨 : 저장소가 비활성화되었습니다.
    • 관리됨 : 저장소가 활성화되었습니다.
  8. 저장을 클릭합니다.
  9. 저장소를 비활성화하는 경우 드라이버가 제거되었는지 확인하세요.

    1. 워크로드 > Pod를 클릭합니다.
    2. Pod 페이지에서 이름 필터 상자에 "vmware-vsphere-csi-driver"를 입력합니다.

      나타나야 할 유일한 항목은 운영자입니다. 예: "vmware-vsphere-csi-driver-operator-559b97ffc5-w99fm"

6.21.14. vSphere의 노드당 최대 볼륨 증가

VMware vSphere 버전 7의 경우 OpenShift Container Platform은 노드당 최대 볼륨 수를 59개로 제한합니다.

하지만 vSphere 8 이상 버전에서는 노드당 허용되는 볼륨 수를 최대 255개까지 늘릴 수 있습니다. 그렇지 않으면 기본값은 59로 유지됩니다.

중요

ESXi 8 하이퍼바이저만 포함된 동종 vSphere 8 환경이 있어야 합니다. ESXi 8 이외의 버전이 혼합된 이기종 환경은 허용되지 않습니다. 이처럼 이기종 환경에서 59보다 큰 값을 설정하면 클러스터가 저하됩니다.

제한

  • VMware vSphere 버전 8 이상을 실행해야 합니다.
  • 노드당 최대 볼륨 수를 충분한 수의 노드에서 늘리면 호스트당 2048개의 가상 디스크 제한을 초과할 가능성이 있습니다. 이는 vSphere에 대한 DRS(분산 리소스 스케줄러) 검증이 없어 이 제한을 초과하지 않는지 확인할 수 없기 때문에 발생할 수 있습니다.
중요

노드당 볼륨을 늘리는 것은 기술 미리 보기 기능에만 해당됩니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

6.21.14.1. vSphere에 대해 노드당 허용되는 최대 볼륨 증가

사전 요구 사항

  • OpenShift Container Platform 웹 콘솔에 액세스합니다.
  • cluster-admin 역할을 가진 사용자로 클러스터에 액세스합니다.
  • VMware vSphere vCenter에 액세스합니다.
  • vCenter에서 pvscsiCtrlr256DiskSupportEnabled 매개변수가 'True'로 설정되어 있는지 확인하세요.

    중요

    pvscsiCtrlr256DiskSupportEnabled 매개변수를 변경하는 것은 VMware에서 완전히 지원되지 않습니다. 또한, 이 매개변수는 클러스터 전체에 적용되는 옵션입니다.

프로세스

vSphere의 노드당 최대 볼륨 수를 늘리려면 다음 절차를 따르세요.

  1. 관리 > CustomResourceDefinitions를 클릭합니다.
  2. CustomResourceDefinitions 페이지의 이름 드롭다운 상자 옆에 "clustercsidriver"를 입력합니다.
  3. CRD ClusterCSIDriver를 클릭합니다.
  4. 인스턴스 탭을 클릭합니다.
  5. csi.vsphere.vmware.com을 클릭합니다.
  6. YAML 탭을 클릭합니다.
  7. spec.driverConfig.driverType 매개변수를 vSphere 로 설정합니다.
  8. YAML 파일에 spec.driverConfig.vSphere.maxAllowedBlockVolumesPerNode 매개변수를 추가하고 다음 샘플 YAML 파일과 같이 노드당 원하는 최대 볼륨 수에 대한 값을 제공합니다.

    maxAllowedBlockVolumesPerNode 매개변수를 추가하기 위한 샘플 YAML 파일

    ...
    spec:
      driverConfig:
        driverType: vSphere
        vSphere:
          maxAllowedBlockVolumesPerNode: 
    1
    
    ...
    Copy to Clipboard Toggle word wrap

    1
    노드당 볼륨의 최대 개수에 대한 원하는 값을 여기에 입력하세요. 기본값은 59입니다. 최소값은 1이고 최대값은 255입니다.
  9. 저장을 클릭합니다.

6.21.15. 추가 리소스

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat