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

参考

关于项目

An Ansible role for creating Nutanix VMs on a single cluster

安装
ansible-galaxy install cybergavin.nutanix_vm_create
许可证
gpl-3.0
下载
137
拥有者