7.14. 고급 가상 머신 관리
7.14.1. 관리 작업 자동화
Red Hat Ansible Automation Platform을 사용하여 OpenShift Virtualization 관리 작업을 자동화할 수 있습니다. Ansible Playbook을 사용하여 새 가상 머신을 생성하며 기본 사항을 살펴보십시오.
7.14.1.1. Red Hat Ansible Automation 정보
Ansible은 시스템 구성, 소프트웨어 배포, 롤링 업데이트 수행에 사용되는 자동화 툴입니다. Ansible은 OpenShift Virtualization을 지원하며, Ansible 모듈을 사용하면 템플릿, 영구 볼륨 클레임, 가상 머신 작업과 같은 클러스터 관리 작업을 자동화할 수 있습니다.
Ansible을 통해 OpenShift Virtualization 관리를 자동화할 수 있으며, 이러한 자동화는 oc
CLI 툴 또는 API를 통해서도 수행할 수 있습니다. Ansible은 KubeVirt 모듈을 다른 Ansible 모듈과 통합할 수 있다는 점에서 고유합니다.
7.14.1.2. 가상 머신 생성 자동화
kubevirt_vm
Ansible Playbook을 사용하면 Red Hat Ansible Automation Platform을 통해 OpenShift Container Platform 클러스터에 가상 머신을 생성할 수 있습니다.
사전 요구 사항
- Red Hat Ansible Engine 버전 2.8 이상
절차
kubevirt_vm
작업이 포함되도록 Ansible Playbook YAML 파일을 편집합니다.kubevirt_vm: namespace: name: cpu_cores: memory: disks: - name: volume: containerDisk: image: disk: bus:
참고이 스니펫에는 플레이북의
kubevirt_vm
부분만 포함됩니다.생성할 가상 머신을 반영하도록
namespace
,cpu_cores
수,memory
,disks
등의 값을 편집합니다. 예를 들면 다음과 같습니다.kubevirt_vm: namespace: default name: vm1 cpu_cores: 1 memory: 64Mi disks: - name: containerdisk volume: containerDisk: image: kubevirt/cirros-container-disk-demo:latest disk: bus: virtio
생성 후 즉시 가상 머신을 부팅하려면 YAML 파일에
state: running
을 추가합니다. 예를 들면 다음과 같습니다.kubevirt_vm: namespace: default name: vm1 state: running 1 cpu_cores: 1
- 1
- 이 값을
state: absent
로 변경하면 이미 존재하는 가상 머신이 삭제됩니다.
플레이북의 파일 이름을 유일한 인수로 사용하여
ansible-playbook
명령을 실행합니다.$ ansible-playbook create-vm.yaml
출력을 검토하여 실행이 성공했는지 확인합니다.
출력 예
(...) TASK [Create my first VM] ************************************************************************ changed: [localhost] PLAY RECAP ******************************************************************************************************** localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
플레이북 파일에
state:running
을 포함하지 않은 경우 지금 VM을 부팅하려면state:running
을 포함하도록 파일을 편집한 후 플레이북을 다시 실행합니다.$ ansible-playbook create-vm.yaml
가상 머신이 생성되었는지 확인하려면 VM 콘솔에 액세스하십시오.
7.14.1.3. 예: 가상 머신을 생성하는 Ansible Playbook
kubevirt_vm
Ansible Playbook을 사용하여 가상 머신 생성을 자동화할 수 있습니다.
다음 YAML 파일은 kubevirt_vm
플레이북의 예입니다. 이 예에는 샘플 값이 포함되어 있으며, 플레이북을 실행하는 경우 해당 값을 사용자의 정보로 교체해야 합니다.
--- - name: Ansible Playbook 1 hosts: localhost connection: local tasks: - name: Create my first VM kubevirt_vm: namespace: default name: vm1 cpu_cores: 1 memory: 64Mi disks: - name: containerdisk volume: containerDisk: image: kubevirt/cirros-container-disk-demo:latest disk: bus: virtio