adambrassard.azure_virtualmachine
Tworzenie/Aktualizacja VM w Azure
Ta rola tworzy/aktualizuje VM(y) w Azure
https://docs.ansible.com/ansible/latest/modules/azure_rm_virtualmachine_module.html
Wymagania
Wymaga modułu Azure_rm
ansible >=2.8
Testowane w Ansible 2.13.1
Zainstaluj Azure Collection z Galaxy:
ansible-galaxy collection install azure.azcollection
Zainstaluj wymagane pakiety Python z kolekcji
sudo pip3 install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.txt
Zdefiniowane przez użytkownika zmienne roli
#Domyślne wymagane zmienne:
resource_group:
location:
# Informacje o VM
vm:
- name: # unikalna nazwa VM
size: # Przykład: "Standard_D4s_v3" # Określenie rozmiaru VM do utworzenia
offer: # Przykład: "RHEL" # określenie konkretnego wydania systemu operacyjnego i firmy, która go wspiera
publisher: # Przykład: "RedHat" # nazwa firmy, która opublikowała obraz
sku_name: # Przykład: "7-RAW" # Główna wersja systemu operacyjnego do użycia
sku_version: # Przykład: "latest" # Konkretna wersja systemu operacyjnego
os_type: # Przykład: Windows, Linux
managed_disk_type: # Typ pamięci dla zarządzanego dysku: Standard_LRS lub Premium_LRS. Jeśli nie zostanie określony, dysk zostanie utworzony jako Standard_LRS
os_disk_caching: # Typ pamięci podręcznej dysku systemowego. Domyślnie ustawiony na 'ReadOnly', może być także "ReadWrite". Nie trzeba go określać, jeśli chcesz użyć domyślnej wartości.
os_disk_size_gb: # Rozmiar dysku z systemem operacyjnym, Windows 2012 wymaga minimum 127 i nie pozwala na mniejszy rozmiar. Nie trzeba go określać, jeśli chcesz użyć domyślnej wartości.
vm_username: # Przykład: "azureadmin"
vm_password: # Określ hasło
avset_name: # Określ zestaw dostępności, jeśli chcesz. W przeciwnym razie zostanie to zignorowane
nic_name: # podaj nazwę istniejącej karty sieciowej
pubip: # Ustaw na statyczny lub dynamiczny, jeśli chcesz, aby był publiczny adres IP. Domyślnie wyłączony
subnet_name: # Nazwa podsieci do utworzenia VM, może być ich wiele i różne dla każdej VM. Moduł dla VM domyślnie używa pierwszej istniejącej podsieci.
Zależności
Jeśli nie zdefiniujesz nazwy interfejsu sieciowego, zostanie on utworzony, o ile w grupie zasobów będzie istniała sieć.
Możesz określić nazwę NIC, jeśli istnieje wcześniej.
Przykład Playbooka
Tworzenie wielu VM w jednym playbooku
---
- name: Playbook Azure do tworzenia wielu VM
hosts: localhost
pre_tasks:
- name: Tworzenie wielu VM w 1 grupie zasobów
set_fact:
#Domyślne wymagane zmienne
resource_group: "MyRG"
location: "canadacentral"
#Struktura zmiennych VM dla wielu wpisów 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: "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
Tworzenie VM przy użyciu istniejącej NIC
---
- name: Playbook Azure do tworzenia wielu VM
hosts: localhost
pre_tasks:
- name: Tworzenie VM z użyciem istniejącej NIC i określenie typu pamięci podręcznej dysku systemowego
set_fact:
#Domyślne wymagane zmienne
resource_group: "MyRG"
location: "canadacentral"
#Struktura zmiennych VM dla wpisu 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: "YouShouldntUseClearTextPasswords@!"
avset_name: "myavset4"
nic_name: "oldnic2019"
connection: local
roles:
- azure-virtualmachine
Licencja
MIT
Informacje o autorze
Adam Brassard: Abrass na IRC
Zainstaluj
ansible-galaxy install adambrassard.azure_virtualmachine
Licencja
mit
Pobrania
88
Właściciel