cybergavin.nutanix_vm_create
Ansible 角色名称 - cybergavin.nutanix_vm_create
此 Ansible 角色可在单个 Nutanix 集群上创建一个或多个虚拟机(VM)。
功能
- 支持基于不同磁盘映像配置虚拟机
- 支持在不同子网中配置虚拟机
- 生成包含已创建虚拟机 IP 地址的清单文件,以便后续其他剧本使用
- 如果启用,在配置完成后将挂载并启用 Nutanix 客户端工具。
注意:
- 默认情况下使用 UEFI 启动配置创建虚拟机。可以在 vars/main.yml 变量文件中全局覆盖此设置。
要求
- 用户提供的以逗号分隔的值(CSV)文件,包含一个或多个虚拟机的规格。请参照角色目录中的示例文件 files/vm.csv。
- 用户提供的变量文件,包含所需变量的适当值。
角色变量
- pc_cluster_fqdn # Prism Central 的 FQDN/IP
- cluster_name # 创建虚拟机的 Nutanix 集群名称
- vm_data_csv # 包含待部署虚拟机详细信息的 CSV 文件的相对路径和名称
- global_debug # 全局调试标志(布尔值)
- enable_ngt # 启用 Nutanix 客户端工具?(布尔值)
- boot_type # 所有虚拟机的启动类型 - "UEFI"(默认)、"LEGACY" 或 "SECURE_BOOT"
依赖项
无
测试环境:
- Ansible 2.9
- Nutanix AOS 5.15.4
- AHV 20190916.360
安装 Ansible 角色后的示例用法
第一步: 按照以下示例创建 vars/main.yml 文件:
pc_cluster_fqdn: "prismcentral.contoso.com" # Prism Central 的 FQDN/IP
cluster_name: "mynutanix" # 创建虚拟机的 Nutanix 集群名称
vm_data_csv: "files/vm.csv" # 包含待部署虚拟机详细信息的 CSV 文件的相对路径和名称
global_debug: false # 全局调试标志
第二步: 按照以下示例创建 files/vm.csv 文件:
vm_name,ip,subnet_name,image_name,num_vcpu,memory_mib,disk_list_mib
testvm,10.1.1.10,webnet,rhel8-image,2,4096,10240
第三步: 按照以下示例创建剧本 main.yml 文件:
---
- name: 在 Nutanix AHV 上创建虚拟机
hosts: localhost
connection: local
gather_facts: false
vars_prompt:
- name: prism_user
prompt: 输入 Prism Central 访问的用户名
private: no
- name: prism_password
prompt: 输入上述用户的密码
unsafe: yes
private: yes
tasks:
- name: 包括变量
include_vars: dir=vars
- name: 使用 Ansible 角色 cybergavin.nutanix_vm_create
include_role:
name: cybergavin.nutanix_vm_create
注意: 在上述示例剧本中,vars_prompt 用于提示用户输入 Prism 凭据。如果您选择使用保管库存储这些凭据或通过其他方式获取,请确保它们存储在 prism_user 和 prism_password 变量中。
第四步: 按照以下示例执行剧本:
ansible-playbook main.yml
注意:
- 会生成一个清单文件 files/inventory,其中包含已创建虚拟机的 IP 地址
- 如果您希望启用 NGT,可以在 vars/main.yml 中设置 "enable_ngt: true"
许可证
GPLv3.0
作者信息
Cybergavin - https://cybergav.in - https://github.com/cybergav.in
参考
- 受 Ansible 角色 mbach04.nutanix_vm_provisioner 的影响/启发,网址 https://github.com/mbach04/nutanix_vm_provisioner。
- Ansible 角色 mbach04.nutanix_vm_provisioner 采用 MIT 许可证,版权所有 (c) 2018 Red Hat。