如何使用 Ansible 在 ESXI 中创建虚拟机?

问题描述 投票:0回答:1

我安装了 esxi 和 vcenter。我在网上找到了一个 ansible 剧本,它从模板创建了一个虚拟机:

---
# create a new VM from a template

- name: VM from template
  hosts: localhost
  gather_facts: false
  connection: local
  vars:
    vcenter_hostname: vcenter-app
    vcenter_user: john@doe
    vcenter_pass: blabla6
    esxhost: esx-4.cbalo.fr
    datastore: VM-PROD-02-NORMAL
    vmtemplate: Centos7-template
    name: "newvm2"
    notes: Ansible Test
    dumpfacts: False
  tasks:
    - name: Create VM from template
      vmware_guest:
        validate_certs: False
        hostname: "{{ vcenter_hostname }}"
        username: "{{ vcenter_user }}"
        password: "{{ vcenter_pass }}"
        esxi_hostname: "{{ esxhost }}"
        datacenter: CD06
        folder: Test
        name: "{{ name }}"
        template: "{{ vmtemplate }}"
        disk:
          - size_gb: "{{ disk_size | default(17) }}"
            type: thin
            datastore: "{{ datastore }}"
        hardware:
          memory_mb: "{{ vm_memory | default(1024) }}"
        wait_for_ip_address: True
        state: present
      register: newvm2

我想从 ISO 创建我的虚拟机。另外,我看不到该脚本中的网络部分:它是否使用模板网络(DHCP)?非常感谢任何帮助。

ansible vmware esxi
1个回答
0
投票

你可以这样做。

---
- name: Creating Virtual Machine
  hosts: localhost
  gather_facts: no
  tasks:
    - name: Create Virtual Machine
      community.vmware.vmware_guest:
        hostname: "ESXI host or IP"
        username: "username"
        password: "pass"
        validate_certs: no
        folder: "/vm"
        name: "Virtual Machine Name"
        state: "poweredon"
        guest_id: "Virtual Machine OS Name"
        datastore: "Data Store Name"
        hardware:
          memory_mb: 1024
          num_cpus: 1
        disk:
          - size_gb: 20
            type: "thin"
        networks:
          - name: "VM Network"
            type: "dhcp"
        cdrom:
          type: "iso"
          iso_path: "[datastore1] isofile.iso"
© www.soinside.com 2019 - 2024. All rights reserved.