Satellite 위치에서 가상화 설정

Bare Metal Servers 를 설정하여 Satellite 위치에서 Red Hat OpenShift 가상화 기능을 사용할 수 있습니다. 가상화 기능을 활용하면, 관리형 Red Hat OpenShift 공간 내에서 Bare Metal Servers 에 Windows 또는 기타 가상 머신을 프로비저닝할 수 있습니다.

지원되는 호스트 운영 체제
Red Hat CoreOS (RHCOS)

전제조건

  • RHCOS 사용 위치를 작성하십시오. 귀하의 위치가 RHCOS를 지원하는지 확인하려면 다음을 참조하세요. 내 위치가 다음에 대해 활성화되어 있나요? Red Hat CoreOS?. 위치가 사용으로 설정되지 않은 경우 RHCOS를 사용하여 새 위치를 작성 하십시오.
  • 호스트를 사용자의 위치에 연결하고 위치 제어 플레인 을 설정하십시오.
  • 베어메탈 호스트 이름을 찾아 기록하십시오.
  • 베어메탈 서버 네트워크 정보를 찾으십시오. 시스템의 공용 및 개인용 인터페이스에 대한 CIDR및 게이트웨이 정보를 기록하십시오.
  • IBM Cloud Object Storage 을 사용하여 점화 파일을 저장하려면 버킷을 작성하거나 식별하십시오.
  • 지원되는 운영 체제를 실행하는 Satellite 위치에서 클러스터를 작성하거나 식별하십시오. 예를 들어, 이 학습서에서는 4.11을 실행 중인 Red Hat OpenShift 클러스터를 사용합니다.
  • OpenShift Data Foundation을 스토리지 솔루션으로 사용하려면 프로비저닝할 때 각 Bare Metal Servers 에 두 개의 스토리지 디스크를 추가하십시오.

Satellite 에 대한 Bare Metal Server 요구사항

가상화를 설정하려면 Bare Metal Server 이 다음 요구사항을 충족해야 합니다.

  • 가상화 기술을 지원해야 합니다.
    • Intel CPU의 경우 가상화 지원을 Intel VT 또는 VT-x 라고 합니다.
    • AMD CPU의 경우 가상화 지원을 AMD Virtualization 또는 AMD-V 라고 합니다.
  • 최소 8개의 코어 및 32GB RAM과 vCPU 오버헤드에 필요한 추가 코어가 있어야 합니다. 자세한 정보는 Red Hat OpenShift 문서에서 CPU 오버헤드 를 참조하십시오.
  • 워크로드에 필요한 충분한 메모리를 포함해야 합니다. 예를 들어, 360 MiB + (1.002 * requested memory) + 146 MiB + 8 MiB * (number of vCPUs) + 16 MiB * (number of graphics devices) 입니다. 자세한 정보는 Red Hat OpenShift 문서에서 메모리 오버헤드 를 참조하십시오.
  • 운영 체제가 설치되지 않았습니다. Red Hat CoreOS 운영 체제는 이 프로세스에서 나중에 설치됩니다.
  • OpenShift Data Foundation을 스토리지 솔루션으로 사용하려면 프로비저닝할 때 각 Bare Metal Servers 에 두 개의 스토리지 디스크를 추가하십시오.

서버가 이러한 요구 사항을 충족하지 않는 경우, Bare Metal Server 를 생성할 수 있습니다. 베어메탈 옵션 목록은 베어메탈 서버에 사용 가능한 옵션 을 참조하십시오.

베어메탈 서버를 사용자 위치에 연결

다음 일반 단계에 따라 베어메탈 서버를 사용자의 위치에 연결하십시오. 이러한 단계는 특정 하드웨어에 따라 다를 수 있습니다. 전체 튜토리얼은 IBM Cloud Bare Metal Servers for Classic 호스트 연결 을 참조하십시오.

  1. Red Hat CoreOS ISO를 다운로드하십시오. 사용할 Red Hat OpenShift 버전과 일치하는 해당 ISO 버전을 찾으십시오. 예를 들어, 버전 4.11을 사용하려면 4.11용 RHCOS 버전을 다운로드하십시오(예: rhcos-4.11.9-x86_64-live.x86_64.iso).

  2. 베어메탈 서버에 로그인하십시오.

  3. BIOS 설정에서 가상화가 사용 가능한지 확인하십시오.

  4. 1단계에서다운로드한 Red Hat CoreOS ISO 파일을 부팅하도록 부트 순서를 설정하십시오.

  5. ISO를 설치하려면 시스템을 부팅하십시오.

  6. Red Hat CoreOS 가 메모리로 부팅된 후 위치 ignition 파일을 제공하고 사용자의 위치에 서버를 연결할 수 있도록 네트워크 연결을 설정하십시오.

  7. Satellite 위치에 맞는 점화 스크립트를 다운로드하세요.

    ibmcloud sat host attach --location LOCATION_NAME --operating-system RHCOS
    
  8. Bare Metal 호스트 이름 및 네트워크 정보를 포함하도록 ignition 파일을 편집하십시오. 이러한 세부사항 추가에 대한 자세한 정보는 ignition 파일 구성 을 참조하십시오. 사용자 위치에 연결하려는 각 베어메탈 서버의 점화 파일을 편집해야 합니다.

  9. 점화 파일을 베어메탈 서버가 도달할 수 있는 위치에 두십시오. 예를 들어, IBM Cloud Object Storage 버킷에 업로드할 수 있습니다.

  10. 점화 스크립트를 베어메탈 서버에 다운로드하십시오.

    curl <ignition_file_location > ignition.ign
    
  11. 다음 install 명령을 실행하여 ignition 파일을 시작하십시오. <diskName> 를 Red Hat CoreOS 를 설치할 디스크 위치의 전체 경로로 대체하고 <filename> 를 ignition 파일의 경로로 대체하십시오.

    sudo coreos-installer install <diskName> --ignition-file <filename>
    

    설치 프로세스를 완료하는 데 한 시간 또는 두 시간이 걸릴 수 있습니다.

  12. 설치가 완료되면 RHCOS ISO 파일의 플러그를 뽑고 하드 디스크에서 다시 부팅하십시오.

  13. Satellite 위치를 확인하여 베어메탈 서버가 연결되어 있는지 확인하십시오.

  14. 해당 위치에 연결하려는 각 베어 메탈 호스트에 대해 이 단계를 반복하십시오.

Red Hat OpenShift 클러스터에 Bare Metal Server 호스트 지정

Bare Metal Server 이 사용자의 위치에 연결된 후에는 이를 Red Hat OpenShift 클러스터 작업자 풀에 지정할 수 있습니다.

  1. Red Hat OpenShift 클러스터 작업자 풀에 추가할 호스트를 찾으십시오.

    ibmcloud sat hosts --location LOCATION_ID
    
  2. Bare Metal Server 을 Red Hat OpenShift 클러스터 작업자 풀에 지정하십시오.

    ibmcloud sat host assign --location LOCATION_ID --cluster CLUSTER_ID --host HOST_ID --worker-pool default --zone ZONE
    

클러스터에 더 많은 Bare Metal Servers 을 할당하려면 이 단계를 반복하십시오.

이제 Bare Metal Server 이 작업자 풀에 지정되었으므로 Red Hat OpenShift 가상화를 설정할 수 있습니다.

클러스터에 대한 스토리지 설정

이 예제 시나리오에서는 Bare Metal Servers에서 사용 가능한 스토리지 디스크를 자동으로 검색하여 클러스터의 3개노드에 걸쳐 OpenShift Data Foundation을 배치합니다.

세 개 이상의 Bare Metal Servers 를 사용자 위치에 연결하고 이를 클러스터의 작업자 노드로 지정한 후에는 odf-local Satellite 스토리지 템플리트를 사용하여 OpenShift Data Foundation을 배치할 수 있습니다.

  1. Satellite 위치 콘솔에서 사용자 위치를 클릭한 후 스토리지 > 스토리지 구성 작성을 클릭하십시오.
  2. 구성에 이름을 지정하세요.
  3. OpenShift Data Foundation for local devices 를 선택하고 버전 4.10 을 선택하십시오.
  4. 이 예제의 경우 나머지 기본 설정을 그대로 두고 다음을 클릭하십시오.
  5. ODF가 배치될 때까지 기다리십시오. 그런 다음 openshift-storage 네임스페이스에 팟 (Pod) 을 나열하여 팟 (Pod) 이 준비되었는지 확인하십시오.
    oc get pods -n openshift-storage
    
    출력 예
    NAME                                                              READY   STATUS      RESTARTS   AGE
    ocs-metrics-exporter-5b85d48d66-lwzfn                             1/1     Running     0          2d1h
    ocs-operator-86498bf74c-qcgvh                                     1/1     Running     0          2d1h
    odf-console-68bcd54c7c-5fvkq                                      1/1     Running     0          2d1h
    rook-ceph-mgr-a-758845d77c-xjqkg                                  2/2     Running     0          2d1h
    rook-ceph-mon-a-85d65d9f66-crrhb                                  2/2     Running     0          2d1h
    rook-ceph-mon-b-74fd78856d-s2pdf                                  2/2     Running     0          2d1h
    rook-ceph-mon-c-76f9b8b5f9-gqcm4                                  2/2     Running     0          2d1h
    rook-ceph-operator-5d659cb494-ctkx6                               1/1     Running     0          2d1h
    rook-ceph-osd-0-846cf86f79-z97mc                                  2/2     Running     0          2d1h
    rook-ceph-osd-1-7f79ccf77d-8g4cn                                  2/2     Running     0          2d1h
    rook-ceph-osd-2-549cc486b4-7wf5k                                  2/2     Running     0          2d1h
    rook-ceph-osd-prepare-ocs-deviceset-0-data-0z6pn9-6fwqr           0/1     Completed   0          10d
    rook-ceph-osd-prepare-ocs-deviceset-1-data-0kkxrw-cppk9           0/1     Completed   0          10d
    rook-ceph-osd-prepare-ocs-deviceset-2-data-0pxktc-xm2rc           0/1     Completed   0          10d
    rook-ceph-rgw-ocs-storagecluster-cephobjectstore-a-54c58859nc8j   2/2     Running     0          2d1h
    ...
    ...
    

가상화 운영자 설치

CLI를 사용하여 Red Hat OpenShift 가상화 설치단계를 따르십시오.

virtctl CLI 설정하기

virtctl CLI 도구 다운로드 및 설치단계를 수행하십시오.

가상 머신의 데이터 볼륨 작성

OpenShift Data Foundation을 배치한 후 sat-ocs-ceprbd-gold 스토리지 클래스를 사용하여 가상 머신의 스토리지를 사용할 데이터 볼륨을 작성할 수 있습니다.

  1. 다음 예제 데이터 볼륨을 복사하여 datavol.yaml 라는 파일에 저장하십시오.
    apiVersion: cdi.kubevirt.io/v1beta1
    kind: DataVolume
    metadata:
      name: fedora-1
      namespace: default
    spec:
      source:
        registry:
          pullMethod: node
          url: docker://quay.io/containerdisks/fedora@sha256:29b80ef738f9b09c19efc245aac3921deab9acd542c886cf5295c94ab847dfb5
      pvc:
        accessModes:
          - ReadWriteMany
        resources:
          requests:
            storage: 10Gi
        volumeMode: Block
        storageClassName: sat-ocs-cephrbd-gold
    
  2. 데이터 볼륨을 작성하십시오.
    oc apply -f datavol.yaml
    
  3. 데이터 볼륨 및 해당 PVC가 작성되었는지 확인하십시오.
    oc get dv,pvc -n default
    
    출력 예.
    NAME                                  PHASE       PROGRESS   RESTARTS   AGE
    datavolume.cdi.kubevirt.io/fedora-1   Succeeded   100.0%                16h
    NAME                             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS           AGE
    persistentvolumeclaim/fedora-1   Bound    pvc-fd8b1a5b-cc32-42bd-95d0-4ccf2e40bca7   10Gi       RWX            sat-ocs-cephrbd-gold   16h
    

가상 머신 작성

  1. 다음 VirtualMachine 구성을 복사하여 vm.yaml 파일에 저장하십시오. OpenShift 웹 콘솔을 통해 가상 머신을 작성할 수도 있습니다.

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      labels:
        app: fedora-1
      name: fedora-1
      namespace: default
    spec:
      running: false
      template:
        metadata:
          labels:
            kubevirt.io/domain: fedora-1
        spec:
          domain:
            cpu:
              cores: 1
              sockets: 2
              threads: 1
            devices:
              disks:
              - disk:
                  bus: virtio
                name: rootdisk
              - disk:
                  bus: virtio
                name: cloudinitdisk
              interfaces:
              - masquerade: {}
                name: default
              rng: {}
            features:
              smm:
                enabled: true
            firmware:
              bootloader:
                efi: {}
            resources:
              requests:
                memory: 8Gi
          evictionStrategy: LiveMigrate
          networks:
          - name: default
            pod: {}
          volumes:
          - dataVolume:
              name: fedora-1
            name: rootdisk
          - cloudInitNoCloud:
              userData: |-
                #cloud-config
                user: cloud-user
                password: 'fedora-1-password'
                chpasswd: { expire: False }
            name: cloudinitdisk
    
  2. 클러스터에서 가상 머신을 작성하십시오.

    oc apply -f vm.yaml
    
  3. 가상 머신을 시작하십시오.

    virtctl start fedora-1 -n default
    
  4. 가상 머신이 실행 중인지 확인하십시오.

    oc get vm -n default
    

    출력 예.

    NAME                                  AGE   STATUS    READY
    virtualmachine.kubevirt.io/fedora-1   16h   Running   True
    
  5. OpenShift 웹 콘솔에서, VirtualMachine 구성에서 지정한 사용자 이름과 비밀번호를 사용하여 VM 에 로그인하십시오. 예를 들어, user: cloud-userpassword: 'fedora-1-password' 입니다.

축하합니다! Satellite 클러스터에 Fedora 가상 머신을 배치했습니다.

OpenShift Virtualization Hands-on Lab에서 다음에 수행할 작업에 대한 자세한 정보를 찾을 수 있습니다.

추가 리소스