adambrassard.azure_virtualmachine
Erstellen/Aktualisieren von VMs in Azure
Diese Rolle erstellt/aktualisiert VM(s) in Azure
https://docs.ansible.com/ansible/latest/modules/azure_rm_virtualmachine_module.html
Anforderungen
Benötigt das Azure_rm-Modul
ansible >=2.8
Getestet in Ansible 2.13.1
Installieren Sie die Azure Collection von Galaxy:
ansible-galaxy collection install azure.azcollection
Installieren Sie die benötigten Python-Pakete aus der Sammlung
sudo pip3 install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.txt
Benutzerdefinierte Rollenvariablen
#Standard erforderliche Variablen:
resource_group:
location:
# VM Informationen
vm:
- name: # eindeutiger VM-Name
size: # Beispiel: "Standard_D4s_v3" # Größe der zu erstellenden VM
offer: # Beispiel: "RHEL" # spezifischer Typ von OS und die unterstützende Firma
publisher: # Beispiel: "RedHat" # Firmenname, der das Bild veröffentlicht hat
sku_name: # Beispiel: "7-RAW" # Hauptversion des zu verwendenden OS
sku_version: # Beispiel: "latest" # Spezifische Version des OS
os_type: # Beispiel: Windows, Linux
managed_disk_type: # Art des Speichers für die verwaltete Festplatte: Standard_LRS oder Premium_LRS. Wenn nicht angegeben, wird die Festplatte als Standard_LRS erstellt
os_disk_caching: # Art des OS-Disk-Cachings. Standardmäßig auf 'ReadOnly' gesetzt, kann auch "ReadWrite" sein. Muss nicht definiert werden, wenn der Standard gewünscht ist.
os_disk_size_gb: # Die Größe der Festplatte mit dem OS, Windows 2012 benötigt mindestens 127 und lässt keine niedrigere Größe zu. Muss nicht definiert werden, wenn der Standard gewünscht ist.
vm_username: # Beispiel: "azureadmin"
vm_password: # Passwort definieren
avset_name: # Definieren Sie ein Verfügbarkeitsset, wenn gewünscht. Ansonsten wird dies ignoriert
nic_name: # geben Sie den Namen einer vorhandenen NIC ein
pubip: # Stellen Sie auf statisch oder dynamisch ein, wenn Sie eine öffentliche IP wollen, Standard ist deaktiviert
subnet_name: # Name des Subnetzes, um die VM zu erstellen. Es kann mehrere und unterschiedliche für jede VM geben. Modul für die VM verwendet standardmäßig das erste vorhandene Subnetz.
Abhängigkeiten
Wenn Sie den Namen der Netzwerkschnittstelle nicht angeben, wird eine erstellt, solange es ein Netzwerk in der Ressourcengruppe gibt.
Der Name der NIC kann definiert werden, wenn sie zuvor existiert.
Beispiel-Playbook
Erstellen mehrerer VMs in einem Playbook
---
- name: Azure Playbook zum Erstellen mehrerer VMs
hosts: localhost
pre_tasks:
- name: Erstellen mehrerer VMs in 1 Ressourcengruppe
set_fact:
#Standard erforderliche Variablen
resource_group: "MyRG"
location: "canadacentral"
#VM-Variablenstruktur für mehrere VM-Eingaben
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: "YouShouldntUseClearTextPasswords@!"
avset_name: "myavset4"
pubip: "static"
- 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: "YouShouldntUseClearTextPasswords@!"
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: "YouShouldntUseClearTextPasswords@!"
avset_name: "windowsAVset"
connection: local
roles:
- azure-virtualmachine
Erstellen einer VM mit einer vorhandenen NIC
---
- name: Azure Playbook zum Erstellen mehrerer VMs
hosts: localhost
pre_tasks:
- name: Erstellen einer VM mit einer vorhandenen NIC und Angabe des OS-Disk-Caching-Typs
set_fact:
#Standard erforderliche Variablen
resource_group: "MyRG"
location: "canadacentral"
#VM-Variablenstruktur für VM-Eingaben
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: "YouShouldntUseClearTextPasswords@!"
avset_name: "myavset4"
nic_name: "oldnic2019"
connection: local
roles:
- azure-virtualmachine
Lizenz
MIT
Autoreninformationen
Adam Brassard: Abrass in IRC
Installieren
ansible-galaxy install adambrassard.azure_virtualmachine
Lizenz
mit
Downloads
88
Besitzer