4.2.4. PVC를 사용하여 울트라 디스크가 있는 머신을 배포하는 머신 세트
Azure에서 실행되는 머신 세트를 생성하여 울트라 디스크가 있는 머신을 배포할 수 있습니다. Ultra 디스크는 가장 까다로운 데이터 워크로드에 사용하기 위한 고성능 스토리지입니다.
in-tree 플러그인과 CSI 드라이버는 모두 PVC를 사용하여 울트라 디스크를 활성화합니다. PVC를 생성하지 않고 울트라 디스크가 있는 머신을 데이터 디스크로 배포할 수도 있습니다.
4.2.4.1. 머신 세트를 사용하여 울트라 디스크가 있는 머신 생성 링크 복사링크가 클립보드에 복사되었습니다!
머신 세트 YAML 파일을 편집하여 Azure에 울트라 디스크가 있는 머신을 배포할 수 있습니다.
사전 요구 사항
- 기존 Microsoft Azure 클러스터가 있어야 합니다.
절차
기존 Azure
MachineSetCR(사용자 정의 리소스)을 복사하고 다음 명령을 실행하여 편집합니다.$ oc edit machineset <machine_set_name>여기서
<machine_set_name>은 울트라 디스크가 있는 머신을 프로비저닝하려는 머신 세트입니다.표시된 위치에 다음 행을 추가합니다.
apiVersion: machine.openshift.io/v1beta1 kind: MachineSet spec: template: spec: metadata: labels: disk: ultrassd1 providerSpec: value: ultraSSDCapability: Enabled2 다음 명령을 실행하여 업데이트된 구성을 사용하여 머신 세트를 생성합니다.
$ oc create -f <machine_set_name>.yaml다음 YAML 정의가 포함된 스토리지 클래스를 생성합니다.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ultra-disk-sc1 parameters: cachingMode: None diskIopsReadWrite: "2000"2 diskMbpsReadWrite: "320"3 kind: managed skuname: UltraSSD_LRS provisioner: disk.csi.azure.com4 reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer5 다음 YAML 정의가 포함된
Ultra-disk-sc스토리지 클래스를 참조하는 PVC(영구 볼륨 클레임)를 생성합니다.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ultra-disk1 spec: accessModes: - ReadWriteOnce storageClassName: ultra-disk-sc2 resources: requests: storage: 4Gi3 다음 YAML 정의가 포함된 Pod를 생성합니다.
apiVersion: v1 kind: Pod metadata: name: nginx-ultra spec: nodeSelector: disk: ultrassd1 containers: - name: nginx-ultra image: alpine:latest command: - "sleep" - "infinity" volumeMounts: - mountPath: "/mnt/azure" name: volume volumes: - name: volume persistentVolumeClaim: claimName: ultra-disk2
검증
다음 명령을 실행하여 머신이 생성되었는지 확인합니다.
$ oc get machines시스템은
Running상태여야 합니다.실행 중이고 노드가 연결된 시스템의 경우 다음 명령을 실행하여 파티션을 검증합니다.
$ oc debug node/<node_name> -- chroot /host lsblk이 명령에서
oc debug node/<node_name>은 노드 <node_name>에서 디버깅 쉘을 시작하고----로 명령을 전달합니다. 전달된 명령chroot /host는 기본 호스트 OS 바이너리에 대한 액세스를 제공하며lsblk에는 호스트 OS 시스템에 연결된 블록 장치가 표시됩니다.
다음 단계
Pod 내에서 울트라 디스크를 사용하려면 마운트 지점을 사용하는 워크로드를 생성합니다. 다음 예와 유사한 YAML 파일을 생성합니다.
apiVersion: v1 kind: Pod metadata: name: ssd-benchmark1 spec: containers: - name: ssd-benchmark1 image: nginx ports: - containerPort: 80 name: "http-server" volumeMounts: - name: lun0p1 mountPath: "/tmp" volumes: - name: lun0p1 hostPath: path: /var/lib/lun0p1 type: DirectoryOrCreate nodeSelector: disktype: ultrassd