azure_virtualmachine
Создание/обновление ВМ в Azure
Эта роль создает/обновляет ВМ(ы) в Azure.
https://docs.ansible.com/ansible/latest/modules/azure_rm_virtualmachine_module.html
Требования
Требуется модуль Azure_rm
ansible >=2.8
Проверено в Ansible 2.13.1
Установите коллекцию Azure из Galaxy:
ansible-galaxy collection install azure.azcollection
Установите требуемые пакеты Python из коллекции
sudo pip3 install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.txt
Переменные роли, определяемые пользователем
#Обязательные переменные по умолчанию:
resource_group:
location:
# Информация о ВМ
vm:
- name: # уникальное имя ВМ
size: # Пример: "Standard_D4s_v3" # Определение размера создаваемой ВМ
offer: # Пример: "RHEL" # Определение конкретного типа ОС и компании, которая его поддерживает
publisher: # Пример: "RedHat" # Название компании, опубликовавшей изображение
sku_name: # Пример: "7-RAW" # Основная версия ОС, которая будет использоваться
sku_version: # Пример: "latest" # Конкретная версия ОС
os_type: # Пример: Windows, Linux
managed_disk_type: # Тип хранилища для управляемого диска: Standard_LRS или Premium_LRS. Если не указано, диск создается Standard_LRS
os_disk_caching: # Тип кэширования диска ОС. По умолчанию установлено на 'ReadOnly', также может быть "ReadWrite". Не нужно определять, если требуется оставить по умолчанию.
os_disk_size_gb: # Размер диска с ОС, Windows 2012 требует минимум 127 и не позволит установить меньше. Не нужно определять, если требуется оставить по умолчанию.
vm_username: # Пример: "azureadmin"
vm_password: # Определите пароль
avset_name: # Определите набор доступности, если необходимо. в противном случае это будет игнорироваться
nic_name: # введите имя существующего NIC
pubip: # Установите на статический или динамический, если вы хотите получить публичный IP, по умолчанию отключено
subnet_name: # Имя подсети для создания ВМ, может быть несколько и разные для каждой ВМ. Модуль для ВМ по умолчанию использует первую существующую подсеть.
Зависимости
Если вы не определите имя сетевого интерфейса, он создаст один, если в группе ресурсов есть сеть.
Вы можете определить имя NIC, если он существует заранее.
Пример плейбука
Создание нескольких ВМ в одном плейбуке
---
- name: Azure Playbook для создания нескольких ВМ
hosts: localhost
pre_tasks:
- name: Создание нескольких ВМ в 1 группе ресурсов
set_fact:
#Обязательные переменные по умолчанию
resource_group: "MyRG"
location: "canadacentral"
#Структура переменных ВМ для ввода нескольких ВМ
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: "ВыНеДолжныИспользоватьПаролиВЯсномВиде@!"
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: "ВыНеДолжныИспользоватьПаролиВЯсномВиде@!"
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: "ВыНеДолжныИспользоватьПаролиВЯсномВиде@!"
avset_name: "windowsAVset"
connection: local
roles:
- azure-virtualmachine
Создание ВМ с использованием уже существующего NIC
---
- name: Azure Playbook для создания нескольких ВМ
hosts: localhost
pre_tasks:
- name: Создание ВМ с использованием существующего NIC и указанием типа кэширования диска ОС
set_fact:
#Обязательные переменные по умолчанию
resource_group: "MyRG"
location: "canadacentral"
#Структура переменных ВМ для ввода ВМ
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: "ВыНеДолжныИспользоватьПаролиВЯсномВиде@!"
avset_name: "myavset4"
nic_name: "oldnic2019"
connection: local
roles:
- azure-virtualmachine
Лицензия
MIT
Информация об авторе
Адам Брассар: Abrass в IRC
Установить
ansible-galaxy install AdamBrassard/azure-virtualmachine
Лицензия
mit
Загрузки
76
Владелец