我安装了 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)?非常感谢任何帮助。
你可以这样做。
---
- 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"