Learn how to use Ansible to create a VM on Proxmox. Our Proxmox Support team is here to help you with your questions and concerns.
Ansible Proxmox Create VM | Guide
Did you know that we can create a VM on a Proxmox server via Ansible with the Ansible module called “proxmox_kvm”?
Furthermore, this module lets us manage Proxmox virtual machines via Ansible playbooks. For instance, we can use Ansible to create a VM on Proxmox as seen below:
- First, we have to make sure Ansible is installed on the machine where we are running the playbook. If not, we can install Ansible with the package manager of our operating system.
- Then, we have to create a new playbook file and open it in a text editor.
- Next, it is time to start the playbook by specifying the host and the required variables. For instance:
- name: Create a Proxmox VM
hosts: proxmox
gather_facts: false
vars:
proxmox_api_user: 'your_proxmox_username'
proxmox_api_password: 'your_proxmox_password'
proxmox_api_host: 'your_proxmox_host'
proxmox_api_port: '8006'
proxmox_vm_name: 'new_vm_name'
proxmox_vm_template: 'template_name'
proxmox_vm_node: 'proxmox_node_name'
proxmox_vm_cores: 2
proxmox_vm_memory: 4096
proxmox_vm_disk_size: 20G
We have to change the variables seen above as per our Proxmox setup. Additionally, verify that we have added the correct Proxmox API credentials. We also have to inlcude information like the desired VM name, template, target Proxmox node, CPU cores, memory size, and disk size.
- After that, we have to add the tasks to create the VM below the playbook structure. For instance:
- name: Create Proxmox VM
proxmox_kvm:
api_user: "{{ proxmox_api_user }}"
api_password: "{{ proxmox_api_password }}"
api_host: "{{ proxmox_api_host }}"
api_port: "{{ proxmox_api_port }}"
vmid: 100 # ID for the new VM
node: "{{ proxmox_vm_node }}"
name: "{{ proxmox_vm_name }}"
cores: "{{ proxmox_vm_cores }}"
memory: "{{ proxmox_vm_memory }}"
disks:
- size: "{{ proxmox_vm_disk_size }}"
storage: local-lvm # Storage pool for the disk
template: "{{ proxmox_vm_template }}"
state: present
Here we have to enter the unique ID as the vmid for the new VM. Make sure the storage parameter is specified with the storage pool for the VM disk. The state parameter is set to present to ensure the VM is created.
- Now, we have to save and close the playbook file.
- Finally, run the playbook with this command:
ansible-playbook create_vm.yml
- We have to make sure the Proxmox host mentioned in the playbook’s hosts field is reachable from the machine where we are running Ansible.
After the above steps, Ansible will connect to the Proxmox API and execute the tasks to create the VM according to the parameters we have added.
Let us know in the comments if you need further help with using Ansible to create a VM on Proxmox.
[Need assistance with a different issue? Our team is available 24/7.]
Conclusion
In summary, our Support Techs demonstrated how to use Ansible to create a virtual machine on Proxmox.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
This code seems to not be working. Im getting a syntax error from “hosts: proxmox”
Hello Robin,
Our experts are available to assist you with your concerns. We would be delighted to discuss this with you via our live chat feature. Simply click on the icon located in the bottom right corner to get started.