Bobcares

Ansible Proxmox Create VM | Guide

by | Jul 1, 2023

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”?

Ansible Proxmox Create VM | Guide

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:

  1. 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.
  2. Then, we have to create a new playbook file and open it in a text editor.
  3. 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.

  4. 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.

  5. Now, we have to save and close the playbook file.
  6. Finally, run the playbook with this command:

    ansible-playbook create_vm.yml

  7. 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.

GET STARTED

2 Comments

  1. Robin

    This code seems to not be working. Im getting a syntax error from “hosts: proxmox”

    Reply
    • Krishna Priya

      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.

      Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.