In this video I use a Ansible playbook and a bash script to deploy a guest virtual machine on quem kvm and review some of the pros and cons of each.
Script and playbook I used:
build_alma8.sh
#!/bin/bash
builderimage=alma-8.5
serverimage=alma8_server.img
servername=alma8_server
clientimage=alma8_client.img
clientname=alma8_client
workingdirectory=~/kvm_images/
cd $workingdirectory
#Build Server
sudo virt-builder $builderimage --hostname $servername --install "@Server,qemu-guest-agent" --ssh-inject root:file:y.pub --firstboot-command 'nmcli device connect ens3' --edit '/etc/selinux/config: s/^SELINUX=.*/SELINUX=disabled/' --edit '/etc/sysconfig/qemu-ga: s/^BLACKLIST_RPC.*/#BLACKLIST_RPC/' --size 10G -o $serverimage
#Virt Install Server
sudo virt-install --name $servername --ram 4096 --vcpus=2 --disk path=$serverimage --import --noautoconsole --channel unix,mode=bind,target_type=virtio,name=org.qemu.guest_agent.0
#Virsh List
virsh list
build_alma8.yml
---
- hosts: localhost
connection: local
gather_facts: false
vars:
builderimage: alma-8.5
serverimage: alma8_server.img
servername: alma8_server
clientimage: alma8_client.img
clientname: alma8_client
workingdirectory: ~/kvm_images/
size: 10G
tasks:
- name: Build Server
shell: |
virt-builder "{{builderimage}}" --hostname "{{servername}}" --install "@Server,qemu-guest-agent" --ssh-inject root:file:y.pub --firstboot-command 'nmcli device connect ens3' --edit '/etc/selinux/config: s/^SELINUX=.*/SELINUX=disabled/' --edit '/etc/sysconfig/qemu-ga: s/^BLACKLIST_RPC.*/#BLACKLIST_RPC/' --size "{{size}}" -o "{{serverimage}}"
become: true
args:
chdir: "{{workingdirectory}}"
creates: "{{serverimage}}"
tags: virtbuilder
- name: Virt Install Server
shell: |
virt-install --name "{{servername}}" --ram 4096 --vcpus=2 --disk path='{{serverimage}}' --import --noautoconsole --channel unix,mode=bind,target_type=virtio,name=org.qemu.guest_agent.0
become: true
args:
chdir: "{{workingdirectory}}"
tags: virtinstall
- name: List only running VMs
community.libvirt.virt:
command: list_vms
state: running
register: running_vms
- name: Print running VM's
debug:
msg: "Runnign VMs {{running_vms}}"
when: running_vms is defined