adambrassard.azure_virtualmachine
Crear/Actualizar VM en Azure
Este rol crea/actualiza VM(s) en Azure
https://docs.ansible.com/ansible/latest/modules/azure_rm_virtualmachine_module.html
Requisitos
Requiere el módulo Azure_rm
ansible >=2.8
Probado en Ansible 2.13.1
Instala la Colección de Azure desde Galaxy:
ansible-galaxy collection install azure.azcollection
Instala los paquetes de requisitos de Python desde la colección
sudo pip3 install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.txt
Variables de Rol Definidas por el Usuario
#Variables requeridas por defecto:
resource_group:
location:
# Información de la VM
vm:
- name: # nombre único de la vm
size: # Ejemplo: "Standard_D4s_v3" # Definiendo el tamaño de la VM a crear
offer: # Ejemplo: "RHEL" # definiendo el tipo específico de SO y la compañía que lo soporta
publisher: # Ejemplo: "RedHat" # nombre de la compañía que publicó la imagen
sku_name: # Ejemplo: "7-RAW" # versión principal del SO a utilizar
sku_version: # Ejemplo: "latest" # versión específica del SO
os_type: # Ejemplo: Windows, Linux
managed_disk_type: # Tipo de almacenamiento para el disco gestionado: Standard_LRS o Premium_LRS. Si no se especifica, el disco se crea como Standard_LRS
os_disk_caching: # Tipo de caché del disco del SO. Se establece como 'ReadOnly' por defecto, también puede ser "ReadWrite". No necesita ser definido si se desea el valor por defecto.
os_disk_size_gb: # Tamaño del disco con el SO, Windows 2012 requiere un mínimo de 127 y no permite superar ese límite. No necesita ser definido si se desea el valor por defecto.
vm_username: # Ejemplo: "azureadmin"
vm_password: # Definir una contraseña
avset_name: # Definir un conjunto de disponibilidad si se desea. De lo contrario, se ignorará
nic_name: # ingresar el nombre de una NIC existente
pubip: # Establecer como estática o dinámica si se desea una IP pública, el valor por defecto es desactivado
subnet_name: # Nombre de la subred donde crear la vm, puede haber múltiples y diferentes para cada VM. El módulo para la VM por defecto utiliza la primera subred existente.
Dependencias
Si no defines el nombre de la interfaz de red, se creará una siempre que haya una red en el grupo de recursos.
Puedes definir el nombre de la NIC si ya existe.
Ejemplo de Playbook
Creando múltiples VM en un playbook
---
- name: Playbook de Azure creando múltiples vms
hosts: localhost
pre_tasks:
- name: Creando múltiples Vms en 1 grupo de recursos
set_fact:
#Variables requeridas por defecto
resource_group: "MyRG"
location: "canadacentral"
#Estructura de variables de VM para múltiples entradas de VM
vm:
- name: NewVM
size: "Standard_D4s_v3"
offer: "RHEL"
publisher: "RedHat"
sku_name: "7-RAW"
sku_version: "latest"
os_type: Linux
managed_disk_type: Standard_LRS
os_disk_size_gb: 150
vm_username: "TempAdmin"
vm_password: "NoDebesUsarContraseñasEnTextoPlano@!"
avset_name: "myavset4"
pubip: "estática"
- name: SecondGreatVm
size: "Standard_D4s_v3"
offer: "RHEL"
publisher: "RedHat"
sku_name: "7-RAW"
sku_version: "latest"
os_type: Linux
managed_disk_type: Premium_LRS
os_disk_size_gb: 200
vm_username: "TempAdmin"
vm_password: "NoDebesUsarContraseñasEnTextoPlano@!"
avset_name: "myavset4"
- name: MyThirdVM
size: "Standard_DS2_v2"
offer: "WindowsServer"
publisher: "MicrosoftWindowsServer"
sku_name: "2019-Datacenter"
sku_version: "latest"
os_type: "Windows"
managed_disk_type: StandardSSD_LRS
os_disk_size_gb: 200
vm_username: "TempAdmin"
vm_password: "NoDebesUsarContraseñasEnTextoPlano@!"
avset_name: "windowsAVset"
connection: local
roles:
- azure-virtualmachine
Creando una VM usando una NIC preexistente
---
- name: Playbook de Azure creando múltiples vms
hosts: localhost
pre_tasks:
- name: Creando una Vm usando una NIC existente y especificando el tipo de caché del disco del SO
set_fact:
#Variables requeridas por defecto
resource_group: "MyRG"
location: "canadacentral"
#Estructura de variables de VM para entrada de VM
vm:
- name: NewVM
size: "Standard_D4s_v3"
offer: "RHEL"
publisher: "RedHat"
sku_name: "7-RAW"
sku_version: "latest"
os_type: Linux
os_disk_caching: "ReadOnly"
managed_disk_type: Standard_LRS
os_disk_size_gb: 150
vm_username: "TempAdmin"
vm_password: "NoDebesUsarContraseñasEnTextoPlano@!"
avset_name: "myavset4"
nic_name: "oldnic2019"
connection: local
roles:
- azure-virtualmachine
Licencia
MIT
Información del Autor
Adam Brassard: Abrass en IRC
Instalar
ansible-galaxy install adambrassard.azure_virtualmachine
Licencia
mit
Descargas
88
Propietario