本节列出并介绍了控制器的角色变量。

角色变量

变量

必需

默认

注释

kvm_vm_hostname

虚拟机的名称

kvm_vm_base_img

controller.qcow2 文件

kvm_vm_vcpus

8

控制器将使用的 CPU 数量。

kvm_vm_ram

24576 MB

控制器将使用的内存量。

kvm_network_type

direct

必须使用的网络类型。

kvm_network_source_mode

bridge

必须使用的网桥。

kvm_network_model

virtio

必须使用的网络模型。

kvm_vm_os_disk_size

100

控制器将使用的磁盘大小。

kvm_host_mgmt_intf

主机管理接口名称

ctrl_mgmt_ip

控制器的管理 IP

ctrl_mgmt_mask

控制器的子网掩码

ctrl_default_gw

控制器的默认网关

state

create

如果为“create”,则将创建控制器;如果为“delete”,则将删除控制器。

kvm_pinning

如果要为虚拟机启用固定 CPU

kvm_force_mode

TRUE

如果存在具有给定名称的虚拟机,则将覆盖到该虚拟机;如果为 false,则将停止执行。

标准示例

Kvm 主机(清单)文件:

[kvm]
10.170.5.51
[kvm:vars]
ansible_ssh_user=root
ansible_ssh_pass=<password>
- hosts: kvm
  vars:
    kvm_vm_hostname: "ctrl1"
    kvm_host_mgmt_intf: eno1.100
    ctrl_mgmt_ip: 10.130.5.12
    ctrl_mgmt_mask: 255.255.255.0
    ctrl_default_gw: 10.130.5.1
    kvm_pinning: true
  tasks:
    - name: Create KVM VM
      include_role:
        name: avinetworks.avicontroller_kvm

用于运行 playbook 的命令:

ansible-playbook kvm.yml -i <inventory file> -vv