avinetworks.avise_vmware
⛔️ 不再维护:此代码库不再受支持,请考虑使用 https://github.com/vmware/ansible-collection-alb ,因为 该角色已迁移到 Ansible Collections。
使用此模块,您可以在系统上安装 Avi Vantage 服务引擎。但是,必须满足最低要求。请访问 Avi SE 要求网页:https://kb.avinetworks.com/docs/latest/system-requirements-hardware/
要求
avisdk
Python 库,可以通过pip install avisdk --upgrade
安装pyvmomi
Python 库,可以通过pip install pyvmomi --upgrade
安装requests_toolbelt
Python 库,可以通过pip install requests_toolbelt --upgrade
安装
角色依赖
- avinetworks.avisdk
要安装,请使用以下命令:
ansible-galaxy install -f avinetworks.avisdk
角色变量
标准参数
变量 | 必需 | 默认值 | 备注 |
---|---|---|---|
se_skip_requirements |
否 | false |
跳过磁盘空间、内存和 CPU 的任何要求。 |
自动注册和控制器特定参数
变量 | 必需 | 默认值 | 备注 |
---|---|---|---|
se_autoregister |
否 | true |
自动将服务引擎注册到指定控制器。 |
se_auth_token |
否 | None |
如果定义,将作为注册服务引擎到控制器使用的令牌 |
se_cluster_uuid |
否 | None |
如果定义,将作为注册服务引擎到控制器使用的集群 UUID |
se_master_ctl_ip |
是 | None |
控制器的 IP 地址。 |
se_master_ctl_username |
否 | None |
登录控制器 API 的用户名。 |
se_master_ctl_password |
否 | None |
登录控制器 API 的密码。 |
se_tenant |
否 | admin |
服务引擎应自动注册的租户名称。 |
se_cloud_name |
否 | Default-Cloud |
服务引擎应自动注册的云名称。 |
se_group_name |
否 | Default-Group |
服务引擎应属于的组名称。 |
VMware 部署变量
这些变量标记为必需,仅适用于使用 VMware 部署的情况。
变量 | 必需 | 默认值 | 备注 |
---|---|---|---|
vcenter_host |
是 | None |
VMware 主机 IP |
vcenter_user |
是 | None |
VMware 用户名 |
vcenter_password |
是 | None |
VMware 密码 |
ssl_verify |
否 | False | ovftool sslverify 选项 |
state |
否 | present | 指定创建或销毁基础架构的选项 |
se_vmw_datacenter |
否 | 从列表中选择第一个 | VMware 数据中心名称 |
se_vmw_cluster |
否 | 从给定数据中心集群的列表中选择第一个 | 数据中心中的集群名称 |
se_vmw_datastore |
否 | 选择最大可用空间的数据存储 | 部署 VM 的数据存储名称 |
se_vmw_ovf_networks |
否 | None |
指定 OVF 网络名称的键值对对象 |
se_vmw_disk_mode |
否 | thin | 部署磁盘模式 |
se_vmw_ova_image_file |
否 | se.ova |
要在控制器上查找的 SE ova 文件名。 |
se_vmw_ova_image_name |
否 | None |
将下载或从本地使用的 SE ova 文件名。下载时,默认为 se-(controller_version)-(build)-(cluster_uuid)。例如 se-17.2.7-9014-0f9449f5.ova |
se_vmw_ova_path |
否 | None |
SE ova 的相对或绝对路径(包括 ova 文件名)。如果指定,则不会下载 OVA 文件。 |
se_vmw_ova_download_path |
否 | . |
下载 SE ova 的相对或绝对路径(不包括 ova 文件名)。 |
se_vmw_vm_name |
是 | None |
VMware 上控制器 VM 的名称 |
se_vmw_power_on |
否 | True | 供应后要打开的 VM |
se_vmw_vcenter_folder |
否 | 数据中心根文件夹 | 部署 VM 的文件夹路径 |
se_vmw_mgmt_ip |
否 | None |
控制器的静态 IP |
se_vmw_mgmt_mask |
否 | None |
管理 IP 子网掩码 |
se_vmw_default_gw |
否 | None |
管理网络的默认网关 |
se_vmw_sysadmin_public_key |
否 | None |
公钥文件路径 |
se_vmw_number_of_cpus |
否 | None |
控制器的 CPU 数量 |
se_vmw_cpu_reserved |
否 | None |
CPU 预留(以兆赫为单位) |
se_vmw_memory |
否 | None |
控制器的内存(以 MB 为单位) |
se_vmw_memory_reserved |
否 | None |
控制器内存预留(以 MB 为单位) |
se_vmw_disk_size |
否 | None |
控制器磁盘大小(以 GB 为单位) |
se_vmw_ovf_properties |
否 | None |
其他控制器 ovf 属性(键值格式) |
VMware 部署示例
---
- hosts: controller
roles:
- name: avinetworks.avisdk
- role: avinetworks.avise_vmware
vars:
se_master_ctl_ip: '{{ controller_ip }}'
se_master_ctl_username: '{{ controller_username }}'
se_master_ctl_password: '{{ controller_password }}'
se_cloud_name: Default-Cloud
ovftool_path: /usr/bin/
vcenter_host: '{{ vcenter_host }}'
vcenter_user: '{{ vcenter_user }}'
vcenter_password: '{{ vcenter_password }}'
se_vmw_datacenter: VMW_DC
se_vmw_cluster: VMW_CL
se_vmw_ovf_networks:
'数据网络 1': DPG-80
'数据网络 2': DPG-100
'管理网络': Mgmt_network
se_vmw_vm_name: ansible-avise-vmware
se_vmw_power_on: true
se_vmw_vcenter_folder: network/avi
se_vmw_number_of_cpus: 2
se_vmw_memory: 2048
在 AWS 上的 VMware Cloud (VMC) 示例与自动注册
- 在 VMware Cloud on AWS (VMC) 的情况下,所有网络接口必须附加到端口组,未使用的接口可以使用停车端口组。
---
- hosts: localhost
gather_facts: no
connection: local
roles:
- name: avinetworks.avisdk
vars:
avi_credentials:
api_version: "{{ avi_api_version }}"
username: "{{ avi_username }}"
password: "{{ avi_password }}"
controller: "{{ controllers.0.mgmt_ip }}"
tasks:
- name: 部署 Avi 服务引擎
include_role:
name: avinetworks.avise_vmware
vars:
se_master_ctl_ip: '{{ controllers.0.mgmt_ip }}'
se_master_ctl_username: '{{ avi_username }}'
se_master_ctl_password: '{{ avi_password }}'
se_cloud_name: '{{ cloud_name }}'
se_group_name: '{{ seg_name }}'
ovftool_path: /usr/bin/
vcenter_host: '{{ vcenter_host }}'
vcenter_user: '{{ vcenter_user }}'
vcenter_password: '{{ vcenter_password }}'
se_vmw_datacenter: '{{ con_vcenter_datacenter }}'
se_vmw_cluster: '{{ con_vcenter_cluster }}'
se_vmw_vcenter_folder: '{{ seg_vcenter_folder }}'
se_vmw_datastore: '{{ serviceengines.0.se_vcenter_datastore }}'
se_vmw_vm_name: "{{ serviceengines.0.vm_name }}"
se_vmw_power_on: '{{ serviceengines.0.power_on }}'
#se_vmw_mgmt_network: '{{ seg_mgmt_network }}'
se_vmw_ovf_networks:
'数据网络 9': '{{ seg_parking_network }}'
'数据网络 8': '{{ seg_parking_network }}'
'数据网络 7': '{{ seg_parking_network }}'
'数据网络 6': '{{ seg_parking_network }}'
'数据网络 5': '{{ seg_parking_network }}'
'数据网络 4': '{{ seg_parking_network }}'
'数据网络 3': '{{ seg_parking_network }}'
'数据网络 2': '{{ seg_parking_network }}'
'数据网络 1': '{{ seg_data1_network }}'
'管理网络': '{{ seg_mgmt_network }}'
se_vmw_power_on: true
se_vmw_number_of_cpus: '{{ seg_cpus }}'
se_vmw_memory: '{{ seg_memory }}'
se_vmw_memory_reserved: '{{ seg_memory }}'
se_vmw_disk_size: '{{ seg_disk }}'
se_vmw_disk_mode: thick
loop: "{{ serviceengines }}"
不使用自动注册的 VMware 示例
---
- hosts: controller
roles:
- name: avinetworks.avisdk
- role: avinetworks.avise_vmware
vars:
se_master_ctl_ip: '{{ controller_ip }}'
se_master_ctl_username: '{{ controller_username }}'
se_master_ctl_password: '{{ controller_password }}'
se_cloud_name: Default-Cloud
ovftool_path: /usr/bin/
vcenter_host: '{{ vcenter_host }}'
vcenter_user: '{{ vcenter_user }}'
vcenter_password: '{{ vcenter_password }}'
se_autoregister: false
se_auth_token: '{{ se_authtoken }}'
se_cluster_uuid: '{{ se_clusteruuid }}'
se_vmw_datacenter: VMW_DC
se_vmw_cluster: VMW_CL
se_vmw_ovf_networks:
'数据网络 1': DPG-80
'数据网络 2': DPG-100
'管理网络': Mgmt_network
se_vmw_vm_name: ansible-avise-vmware
se_vmw_power_on: true
se_vmw_vcenter_folder: network/avi
se_vmw_number_of_cpus: 2
se_vmw_memory: 2048
许可协议
Apache 2.0
作者信息
联系方式: Avi Networks [avi-sdk@avinetworks.com]
关于项目
Ansible Role to setup Avi Service Engine on VMware
安装
ansible-galaxy install avinetworks.avise_vmware
许可证
apache-2.0
下载
1.2k
拥有者