25장. VMware vSphere 구성
VMware vSphere VMDK를 로 사용하여 PersistentVolume을 백업하도록 OpenShift Container Platform을 구성할 수 있습니다. 이 구성에는 애플리케이션 데이터의 영구 스토리지로 VMware vSphere VMDK를 사용하는 작업이 포함될 수 있습니다.
vSphere Cloud Provider는 OpenShift Container Platform에서 vSphere 관리 스토리지를 사용할 수 있으며 Kubernetes가 사용하는 모든 스토리지를 지원합니다.
- PersistentVolume(PV)
- PVC(PersistentVolumesClaim)
- StorageClass
상태 저장 컨테이너화된 애플리케이션에서 요청한 영구 볼륨은 VMware vSAN, VVOL, VMFS 또는 NFS 데이터 저장소에 프로비저닝할 수 있습니다.
Kubernetes PV는 Pod 사양으로 정의됩니다. 동적 프로비저닝을 사용하는 경우 정적 프로비저닝 또는 PVC를 사용하는 경우 VMDK 파일을 직접 참조할 수 있습니다.
vSphere 클라우드 공급자의 최신 업데이트는 Kubernetes용 vSphere Storage에 있습니다.
25.1. 시작하기 전
25.1.1. 요구 사항
VMware vSphere
독립 실행형 ESXi는 지원되지 않습니다.
- 완전한 VMware Validate Design 을 지원하려면 vSphere 버전 6.0.x 최소 권장 버전 6.7 U1b가 필요합니다.
VSAN, VMFS 및 NFS 지원.
- VSAN 지원은 vCenter 한 개의 클러스터로 제한됩니다.
OpenShift Container Platform 3.11이 지원되며 vSphere 7 클러스터에 배포됩니다. vSphere in-tree 스토리지 드라이버를 사용하는 경우 vSAN, VMFS 및 NFS 스토리지 옵션도 지원됩니다.
사전 요구 사항
각 Node VM에 VMware Tools를 설치해야 합니다. 자세한 내용은 VMware 툴 설치를 참조하십시오.
추가 구성 및 문제 해결을 위해 오픈 소스 VMware govm
¢ CLI 툴을 사용할 수 있습니다. 예를 들어 다음 govc
CLI 구성을 참조하십시오.
export GOVC_URL='vCenter IP OR FQDN' export GOVC_USERNAME='vCenter User' export GOVC_PASSWORD='vCenter Password' export GOVC_INSECURE=1
25.1.1.1. 권한
vSphere 클라우드 공급업체에 역할을 생성하고 할당합니다. 필요한 권한 집합이 있는 vCenter 사용자가 필요합니다.
일반적으로 vSphere Cloud Provider에 지정된 vSphere 사용자에게는 다음과 같은 권한이 있어야 합니다.
-
폴더,
, 데이터 저장소 클러스터 등과 같은 노드 VM의 상위 엔터티에 대한 권한을호스트
, 데이터센터, 데이터 저장소 폴더읽습니다
. -
vsphere
권한 - 테스트 VM을 생성하고 삭제하는 데 사용됩니다..conf 정의 리소스 풀에 대한 VirtualMachine.Inventory.
Create/Delete
사용자 지정 역할, 사용자 및 역할 할당을 생성하는 단계는 vSphere 문서 센터를 참조하십시오.
vSphere Cloud Provider는 여러 vCenter에 걸쳐 있는 OpenShift Container Platform 클러스터를 지원합니다. 위의 모든 권한이 모든 vCenter에 대해 올바르게 설정되었는지 확인합니다.
동적 영구 볼륨 생성은 권장되는 방법입니다.
역할 | 권한 | 엔터티 | 하위 항목으로 권한 부여 |
---|---|---|---|
manage-k8s-node-vms | Resource.AssignVMToPool, VirtualMachine.Config.AddExistingDisk, VirtualMachine.Config.AddNewDisk, VirtualMachine.Config.AddRemoveDevice, VirtualMachine.Config.RemoveDisk, VirtualMachine.Inventory.Create, VirtualMachine.Inventory.Delete, VirtualMachine.Config.Settings | 클러스터, 호스트, VM 폴더 | 있음 |
manage-k8s-volumes | Datastore.AllocateSpace, Datastore.FileManagement (낮은 파일 작업) | 데이터 저장소 | 없음 |
k8s-system-read-and-spbm-profile-view | storageProfile.View (프로파일 기반 스토리지 뷰) | vCenter | 없음 |
읽기 전용 (기존 기본 역할) | System.Anonymous, System.Read, System.View | 데이터센터, 데이터 저장소 클러스터, 데이터 저장소 스토리지 폴더 | 없음 |
정적으로 프로비저닝된 PV와 바인딩할 PVC를 생성하고 삭제하도록 회수 정책을 설정하는 경우 manage-k8s-volumes 역할에만 Datastore.FileManagement가 필요합니다. PVC가 삭제되면 정적으로 프로비저닝된 PV도 삭제됩니다.
역할 | 권한 | 엔터티 | 북마크로 전파 |
---|---|---|---|
manage-k8s-node-vms | VirtualMachine.Config.AddExistingDisk, VirtualMachine.Config.AddNewDisk, VirtualMachine.Config.AddRemoveDevice, VirtualMachine.Config.RemoveDisk | VM 폴더 | 있음 |
manage-k8s-volumes | Datastore.FileManagement (낮은 파일 작업) | 데이터 저장소 | 없음 |
읽기 전용 (기존 기본 역할) | System.Anonymous, System.Read, System.View | vCenter, 데이터 센터, 데이터 저장소 클러스터, 데이터 저장소 스토리지 폴더, 클러스터, 호스트 | 없음… |
절차
- VM 폴더를 생성하고 OpenShift Container Platform 노드 VM을 이 폴더로 이동합니다.
각 Node VM에 대해
disk.EnableUUID
매개변수를true
로 설정합니다. 이 설정을 사용하면 VMware vSphere의 VMDK(가상 머신 디스크)가 항상 VM에 일관된 UUID를 표시하여 디스크를 올바르게 마운트할 수 있습니다.클러스터에 참여할 모든 VM 노드에는
disk.EnableUUID
매개 변수가true
로 설정되어 있어야 합니다. 이 값을 설정하려면 vSphere 콘솔 또는govc
CLI 툴에 대한 단계를 따르십시오.-
vSphere HTML 클라이언트에서 VM 속성
VM 옵션 고급 구성 매개 변수 disk .enableUUID=TRUE로 이동합니다. 또는 govc CLI를 사용하여 Node VM 경로를 찾습니다.
$govc ls /datacenter/vm/<vm-folder-name>
모든 VM에 대해
disk.EnableUUID
를true
로 설정합니다.$govc vm.change -e="disk.enableUUID=1" -vm='VM Path'
-
vSphere HTML 클라이언트에서 VM 속성
가상 머신 템플릿에서 OpenShift Container Platform 노드 VM이 생성되는 경우 템플릿 VM에서 disk.EnableUUID=1
을 설정할 수 있습니다. 이 템플릿에서 복제한 VM은 이 속성을 상속받습니다.
25.1.1.2. vMotion으로 OpenShift Container Platform 사용
OpenShift Container Platform은 일반적으로 compute-only vMotion 을 지원합니다. 스토리지 vMotion을 사용하면 문제가 발생할 수 있으며 지원되지 않습니다.
포드에서 vSphere 볼륨을 사용하는 경우 데이터 저장소를 통해 VM을 마이그레이션하면 수동으로 또는 스토리지 vMotion을 통해 VM을 마이그레이션하면 OpenShift Container Platform 영구 볼륨(PV) 개체 내에서 잘못된 참조가 발생합니다. 이러한 참조는 영향을 받는 포드가 시작되지 않게 하고 데이터 손실을 초래할 수 있습니다.
마찬가지로 OpenShift Container Platform은 데이터 저장소에서 VMDK의 선택적 마이그레이션을 지원하지 않으며 VM 프로비저닝 또는 PV의 동적 또는 정적 프로비저닝을 위해 데이터 저장소 클러스터의 일부 또는 PV의 동적 또는 정적 프로비저닝을 위해 데이터 저장소 클러스터의 일부인 데이터 저장소를 사용하는 경우도 있습니다.