11.4. 가상 머신 배포
OpenShift Virtualization 및 CDI(Containerized Data Importer)를 설치 및 활성화한 후 네임스페이스를 생성하고 VM(가상 머신)을 배포합니다.
프로세스
VM 정의와 Fedora 운영 체제가 포함된 데이터 볼륨을 모두 생성하는 YAML을 배포합니다.
다음 예제에서는 네임스페이스
mig-vm
이 사용되고 다음 YAML은 Fedora VM을 생성하고, Fedora 운영 체제가 포함된 datavolume을 생성하는 데 사용됩니다.apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: rhel9-lime-damselfly-72 namespace: mig-vm labels: app: rhel9-lime-damselfly-72 kubevirt.io/dynamic-credentials-support: 'true' vm.kubevirt.io/template: rhel9-server-small vm.kubevirt.io/template.namespace: openshift vm.kubevirt.io/template.revision: '1' vm.kubevirt.io/template.version: v0.31.1 spec: dataVolumeTemplates: - apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: rhel9-lime-damselfly-72 spec: sourceRef: kind: DataSource name: rhel9 namespace: openshift-virtualization-os-images storage: resources: requests: storage: 30Gi running: true template: metadata: annotations: vm.kubevirt.io/flavor: small vm.kubevirt.io/os: rhel9 vm.kubevirt.io/workload: server creationTimestamp: null labels: kubevirt.io/domain: rhel9-lime-damselfly-72 kubevirt.io/size: small network.kubevirt.io/headlessService: headless spec: architecture: amd64 domain: cpu: cores: 1 sockets: 1 threads: 1 devices: disks: - disk: bus: virtio name: rootdisk - disk: bus: virtio name: cloudinitdisk interfaces: - masquerade: {} model: virtio name: default rng: {} features: acpi: {} smm: enabled: true firmware: bootloader: efi: {} machine: type: pc-q35-rhel9.4.0 memory: guest: 2Gi resources: {} networks: - name: default pod: {} terminationGracePeriodSeconds: 180 volumes: - dataVolume: name: rhel9-lime-damselfly-72 name: rootdisk - cloudInitNoCloud: userData: |- #cloud-config user: cloud-user password: password chpasswd: { expire: False } name: cloudinitdisk
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: rhel9-lime-damselfly-72 namespace: mig-vm
1 labels: app: rhel9-lime-damselfly-72 kubevirt.io/dynamic-credentials-support: 'true' vm.kubevirt.io/template: rhel9-server-small vm.kubevirt.io/template.namespace: openshift vm.kubevirt.io/template.revision: '1' vm.kubevirt.io/template.version: v0.31.1 spec: dataVolumeTemplates: - apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: rhel9-lime-damselfly-72 spec: sourceRef: kind: DataSource name: rhel9 namespace: openshift-virtualization-os-images storage: resources: requests: storage: 30Gi running: true
2 template: metadata: annotations: vm.kubevirt.io/flavor: small vm.kubevirt.io/os: rhel9 vm.kubevirt.io/workload: server creationTimestamp: null labels: kubevirt.io/domain: rhel9-lime-damselfly-72
3 kubevirt.io/size: small network.kubevirt.io/headlessService: headless spec: architecture: amd64 domain: cpu: cores: 1 sockets: 1 threads: 1 devices: disks: - disk: bus: virtio name: rootdisk - disk: bus: virtio name: cloudinitdisk interfaces: - masquerade: {} model: virtio name: default rng: {} features: acpi: {} smm: enabled: true firmware: bootloader: efi: {} machine: type: pc-q35-rhel9.4.0 memory: guest: 2Gi resources: {} networks: - name: default pod: {} terminationGracePeriodSeconds: 180 volumes: - dataVolume: name: rhel9-lime-damselfly-72 name: rootdisk - cloudInitNoCloud: userData: |- #cloud-config user: cloud-user password: password chpasswd: { expire: False } name: cloudinitdisk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
PV(영구 볼륨)는 운영 체제로 채워지고 VM이 시작됩니다.