VPC로 가상 머신 생성 File Storage

가상 사설 클라우드 4.17 그리고 나중에 베어 메탈 워커 노드만 해당 RHCOS 전용

OpenShift 가상화에서 실행되는 가상 머신에 영구 스토리지를 프로비저닝하려면 File Storage for VPC 을 사용하세요.

이 주제에서는 환경을 확인하고, VPC File Storage 를 사용하는 가상 머신을 만들고, 가상 머신이 성공적으로 시작되었는지 확인하는 방법에 대해 설명합니다.

시작하기 전에

VPC File Storage 를 사용하여 가상 머신을 생성하기 전에 다음 작업을 완료하세요:

  1. 베어메탈 워커 노드( Red Hat CoreOS (RHCOS))를 사용하는 VPC 클러스터를 만듭니다. 자세한 내용은 VPC 클러스터 만들기를 참조하세요.
  2. OpenShift 가상화 배포 계획의 계획 지침을 검토하세요.
  3. OpenShift 가상화를 위한 스토리지 설정에 설명된 대로 VPC File Storage 를 구성합니다.
  4. OpenShift 가상화 운영자 설치 에 설명된 대로 OpenShift 가상화 운영자를 설치합니다.
  5. virtctl CLI를 설치하십시오. 자세한 내용은 가상화 CLI 도구 시작하기(OpenShift)를 참조하세요.

환경 확인

가상 머신을 생성하기 전에 클러스터가 준비되었는지 확인합니다.

  1. OpenShift 가상화 구성 요소가 배포되었는지 확인합니다.

    oc get hyperconverged -n openshift-cnv
    oc get pods -n openshift-cnv
    

    HyperConverged 출력에서 PHASEDeployed 을 찾습니다. 파드 출력에서 가상화 파드가 Running 또는 Completed 상태를 표시하고 Pending, CrashLoopBackOff 또는 Error 에 멈추지 않았는지 확인합니다.

  2. VPC 파일 CSI 드라이버 애드온이 설치되어 있는지 확인합니다.

    ibmcloud ks cluster addon ls -c CLUSTER_NAME | grep vpc-file-csi-driver
    

    출력에서 vpc-file-csi-driver 애드온을 찾아 상태 상태가 normal 또는 애드온이 준비되었음을 나타내는 상태인지 확인합니다.

  3. VPC File Storage 클래스를 사용할 수 있는지 확인합니다.

    oc get storageclass | grep vpc-file
    

    ibmc-vpc-file-1000-iops 또는 ibmc-vpc-file-6000-iops 과 같은 스토리지 클래스를 찾아보세요. 이후 단계에서 사용할 스토리지 클래스 이름을 기록해 두세요.

  4. 선택한 VPC File Storage 클래스에 대한 스토리지 프로필이 ReadWriteMany 액세스 모드 및 Filesystem 볼륨 모드로 구성되어 있는지 확인합니다.

    oc get storageprofile <storage-class-name> -o yaml
    

    출력에서 spec 아래 claimPropertySets 을 찾습니다. accessModesReadWriteMany 이 포함되어 있고 volumeModeFilesystem 으로 설정되어 있는지 확인합니다.

    claimPropertySets:
    - accessModes:
      - ReadWriteMany
      volumeMode: Filesystem
    
  5. 선택한 스토리지 클래스가 퍼시스턴트 볼륨 클레임을 프로비저닝할 수 있는지 확인합니다.

    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: vpc-file-test-pvc
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 10Gi
      storageClassName: <storage-class-name>
    EOF
    
  6. 테스트 영구 볼륨 클레임이 바인딩되었는지 확인합니다.

    oc get pvc vpc-file-test-pvc
    

    출력에서 STATUS 열을 찾아 퍼시스턴트 볼륨 클레임에 Bound 이 표시되는지 확인합니다. 클레임이 Pending 에 남아 있는 경우 스토리지 클래스 또는 스토리지 프로필이 올바르게 구성되지 않은 것입니다.

  7. 클레임이 구속력이 없는 경우 영구 볼륨 클레임 세부 정보를 검토하세요.

    oc describe pvc vpc-file-test-pvc
    
  8. 테스트용 영구 볼륨 클레임을 삭제하십시오.

    oc delete pvc vpc-file-test-pvc
    

웹 콘솔에서 가상 머신 만들기

OpenShift 웹 콘솔을 사용하여 VPC File Storage 에 디스크를 저장하는 가상 머신을 생성합니다.

  1. 클러스터의 OpenShift 웹 콘솔에 로그인합니다.
  2. 탐색 메뉴에서 가상화 > VirtualMachines.
  3. 만들기를 클릭하고 템플릿을 선택하거나 가상 머신을 수동으로 정의하려는 경우 YAML에서를 선택합니다.
  4. 가상 머신의 이름을 입력하십시오.
  5. 가상 머신을 생성할 프로젝트를 선택합니다.
  6. 스토리지 섹션에서 ibmc-vpc-file-1000-iops 또는 ibmc-vpc-file-6000-iops 와 같은 VPC File Storage 클래스를 선택합니다.
  7. 워크로드 요구 사항에 따라 디스크 크기를 설정하세요.
  8. CPU 및 메모리 설정을 검토한 다음 필요에 따라 업데이트하세요.
  9. 만들기 VirtualMachine 을 클릭합니다.
  10. 가상 머신 상세 정보 페이지에서 디스크, 네트워크 인터페이스구성 탭을 검토하여 가상 머신이 예상 설정으로 생성되었는지 확인합니다.

가상 머신이 생성되면 콘솔은 연결된 영구 볼륨 클레임 및 데이터 볼륨 리소스를 생성합니다.

CLI를 사용하여 가상 머신 생성하기

재사용 가능한 매니페스트에서 가상 머신을 만들려면 CLI를 사용하세요.

  1. 아직 네임스페이스가 없는 경우 가상 머신 워크로드를 위한 네임스페이스를 생성하세요.

    oc create namespace vm-project
    
  2. VPC File Storage 클래스를 참조하는 가상 머신 매니페스트를 생성합니다.

    cat <<EOF | oc apply -f -
    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: rhel9-vm
      namespace: vm-project
    spec:
      running: false
      template:
        metadata:
          labels:
            kubevirt.io/domain: rhel9-vm
        spec:
          domain:
            cpu:
              cores: 2
            devices:
              disks:
              - disk:
                  bus: virtio
                name: rootdisk
              - disk:
                  bus: virtio
                name: cloudinitdisk
            resources:
              requests:
                memory: 4Gi
          volumes:
          - dataVolume:
              name: rhel9-vm-rootdisk
            name: rootdisk
          - cloudInitNoCloud:
              userData: |
                #cloud-config
                user: cloud-user
                password: changeme
                chpasswd: { expire: false }
            name: cloudinitdisk
      dataVolumeTemplates:
      - metadata:
          name: rhel9-vm-rootdisk
        spec:
          pvc:
            accessModes:
            - ReadWriteMany
            resources:
              requests:
                storage: 40Gi
            storageClassName: <storage-class-name>
            volumeMode: Filesystem
          source:
            blank: {}
    EOF
    
  3. 가상 머신 및 데이터 볼륨 리소스가 생성되었는지 확인합니다.

    oc get vm -n vm-project
    oc get dv -n vm-project
    oc get pvc -n vm-project
    

    출력에서 가상 머신 rhel9-vm 이 나열되어 있는지, 데이터 볼륨 rhel9-vm-rootdisk 이 존재하는지, 영구 볼륨 클레임 rhel9-vm-rootdisk 이 생성되었는지 확인합니다. 영구 볼륨 클레임이 아직 Bound 이 아닌 경우 프로비저닝이 완료될 때까지 기다렸다가 계속하세요.

  4. 데이터 볼륨이 준비되지 않은 경우 데이터 볼륨 세부 정보를 검토합니다.

    oc describe dv rhel9-vm-rootdisk -n vm-project
    oc describe pvc rhel9-vm-rootdisk -n vm-project
    
  5. 가상 머신을 시작하십시오.

    virtctl start rhel9-vm -n vm-project
    
  6. 가상 머신 인스턴스가 실행 중인지 확인합니다.

    oc get vmi -n vm-project
    

    출력에서 가상 머신 인스턴스 이름을 찾아 해당 단계가 Running 인지 확인합니다. 가상 머신 인스턴스가 나열되지 않으면 가상 머신 상태를 검토합니다.

    oc get vm rhel9-vm -n vm-project -o yaml
    

가상 머신 유효성 검사

가상 머신을 생성한 후 스토리지 및 컴퓨팅 리소스가 예상대로 작동하는지 확인합니다.

  1. 영구 볼륨 클레임이 바인딩되었는지 확인합니다.

    oc get pvc -n vm-project
    

    출력에서 퍼시스턴트 볼륨 클레임 rhel9-vm-rootdisk 을 찾아 STATUS 열에 Bound 이 표시되는지 확인합니다.

  2. 데이터 볼륨 가져오기 또는 프로비저닝이 성공적으로 완료되었는지 확인합니다.

    oc get dv -n vm-project
    

    출력에서 데이터 볼륨이 사용자 환경에 따라 Succeeded 또는 Ready 과 같은 성공적인 단계로 표시되는지 확인합니다. 데이터 볼륨이 준비되지 않은 경우 데이터 볼륨 및 영구 볼륨 클레임 이벤트를 검토하세요.

    oc describe dv rhel9-vm-rootdisk -n vm-project
    oc describe pvc rhel9-vm-rootdisk -n vm-project
    
  3. 가상 머신 인스턴스가 실행 중인지 확인합니다.

    oc get vmi -n vm-project
    
  4. 가상 머신 인스턴스 세부 정보를 검토하여 노드 배치, 인터페이스 및 연결된 볼륨을 확인합니다.

    oc describe vmi rhel9-vm -n vm-project
    
  5. 클라우드 초기화 자격 증명을 구성한 경우 가상 머신 콘솔에 연결합니다.

    virtctl console rhel9-vm -n vm-project
    
  6. 인스턴스가 시작되지 않으면 가상 머신 세부 정보를 검토하세요.

    oc describe vm rhel9-vm -n vm-project
    oc describe vmi rhel9-vm -n vm-project
    

제한 사항 및 고려 사항 이해

가상 머신에 VPC File Storage 를 사용할 때 다음 고려 사항을 검토하세요:

VPC File Storage 의 성능
VPC File Storage 는 네트워크 연결 스토리지 옵션입니다. 일반적으로 개발, 테스트 및 낮은 I/O 워크로드에 가장 적합합니다.
스냅샷 및 복제
스냅샷 및 복제 지원은 OpenShift 데이터 재단과 다릅니다. 프로덕션 워크로드에 대해 VPC File Storage 로 표준화하기 전에 스토리지 요구 사항을 검토하세요.
실시간 마이그레이션
실시간 마이그레이션은 스토리지 프로필이 올바르게 구성되고 워크로드가 OpenShift 가상화 요구 사항을 충족하는 경우 지원됩니다.
스토리지 프로필 구성
CDI가 스토리지 클래스를 올바르게 사용할 수 있도록 VPC 파일 CSI 프로비저너에 대한 스토리지 프로필을 구성해야 합니다.

문제점 해결

가상 머신이 시작되지 않거나 디스크가 올바르게 프로비저닝되지 않은 경우 다음 항목을 검토하세요:

다음 단계

VPC를 사용하여 가상 머신을 생성한 후 File Storage:

  1. 가상화 서비스 클러스터에서 가상 머신 관리
  2. 가상 네트워크 인터페이스 구성
  3. Red Hat OpenShift 가상화 문서 검토