Модуль azure.azcollection.azure_rm_virtualmachinescaleset — Управление группами виртуальных машин Azure
Примечание
Этот модуль является частью коллекции azure.azcollection (версия 2.7.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install azure.azcollection. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Для использования в книге задач укажите: azure.azcollection.azure_rm_virtualmachinescaleset.
Новая функция в azure.azcollection 0.1.2
Описание
- Создание и обновление группы виртуальных машин.
- Обратите внимание, что этот модуль до Ansible 2.8 назывался azure.azcollection.azure_rm_virtualmachine_scaleset. Использование не изменилось.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- На хосте, выполняющем этот модуль, должна быть установлена коллекция azure.azcollection через galaxy.
- Все пакеты Python, перечисленные в файле requirements.txt коллекции, должны быть установлены с помощью pip на хосте, на котором выполняются модули из azure.azcollection
- Полные инструкции по установке можно найти по адресу https://galaxy.ansible.com/azure/azcollection
Параметры
Параметр | Комментарии |
|---|---|
ad_user строка | Имя пользователя Active Directory. Используется при аутентификации с помощью пользователя Active Directory, а не служебного принципала. |
adfs_authority_url строка добавлен в azure.azcollection 0.0.1 | URL-адрес источника аутентификации Azure AD. Используется при аутентификации с именем пользователя/паролем и собственном источнике ADFS. |
admin_password строка | Пароль для имени пользователя администратора. Не требуется, если os_type - Linux и аутентификация по паролю SSH отключена с помощью ssh_password_enabled=false. |
admin_username строка | Имя пользователя администратора для доступа к хосту после его создания. Требуется при создании виртуальной машины. |
api_profile строка добавлен в azure.azcollection 0.0.1 | Выбирает профиль API для взаимодействия с Azure-сервисами. Значение по умолчанию По умолчанию: |
append_tags логическое значение | Управляет тем, является ли поле тегов каноническим или просто добавляет к существующим тегам. При каноническом значении теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта. Варианты:
|
application_gateway строка | Имя шлюза приложений. |
auth_source строка добавлен в azure.azcollection 0.0.1 | Управляет источником учетных данных для аутентификации. Также может быть установлен с помощью переменной среды При значении При значении При значении При значении При значении
Варианты:
|
capacity целое число | Ёмкость VMSS. По умолчанию: |
cert_validation_mode строка добавлен в azure.azcollection 0.0.1 | Управляет поведением проверки сертификата для Azure-узлов. По умолчанию все модули проверяют серверный сертификат, но при использовании HTTPS-прокси или работе с Azure Stack может потребоваться отключить эту функцию, передав Варианты:
|
client_id строка | Идентификатор клиента Azure. Используется при аутентификации с помощью служебного принципала или управляемой учетной записи (msi). Также может быть установлен с помощью переменной среды |
cloud_environment строка добавлен в azure.azcollection 0.0.1 | Для облачных сред, отличных от общедоступного облака США, имя среды (как определено в Azure Python SDK, например, По умолчанию: |
custom_data строка | Данные, которые доступны виртуальной машине и используются, например, Многие образы в маркетплейсе не готовы к cloud-init. Таким образом, данные, отправленные в custom_data, будут проигнорированы. Если образ, который вы пытаетесь использовать, не указан в https://docs.microsoft.com/ru-ru/azure/virtual-machines/linux/using-cloud-init#cloud-init-overview, следуйте этим шагам https://docs.microsoft.com/ru-ru/azure/virtual-machines/linux/cloudinit-prepare-custom-image. |
data_disks список / элементы=словарь | Описание списка дисков данных. |
|
caching строка |
Тип кэширования диска данных. Варианты:
|
|
disk_size_gb integer |
Начальный размер диска в ГБ для пустых дисков данных. |
|
lun string |
Логический номер устройства для диска данных. По умолчанию: |
|
managed_disk_type string |
Тип управляемого диска данных. Варианты:
|
disable_instance_discovery boolean добавлено в azure.azcollection 2.3.0 | Определяет, будет ли выполняться обнаружение экземпляра при попытке аутентификации. Установка в значение true полностью отключит как обнаружение экземпляра, так и проверку подлинности. Эта функциональность предназначена для использования в сценариях, где метаданные конечная точка недоступна, например, в частных облаках или Azure Stack. Процесс обнаружения экземпляра включает извлечение метаданных авторизации из https://login.microsoft.com/ для проверки подлинности. Установив это значение в **True**, отключается проверка подлинности авторизации. Поэтому крайне важно убедиться, что указанный хост авторизации действителен и заслуживает доверия. Устанавливается через профиль файла аутентификации или переменную среды Варианты:
|
enable_accelerated_networking boolean | Указывает, разрешает ли пользователь ускоренную сеть для виртуальных машин в масштабируемом наборе, который создаётся. Варианты:
|
ephemeral_os_disk boolean | Параметры настроек временного диска, которые можно указать для системного диска. Временный системный диск поддерживается только для экземпляров ВМ, использующих управляемый диск. Варианты:
|
eviction_policy string | Указывает политику вытеснения для виртуальной машины Azure Spot. Требуется, чтобы приоритет был установлен на Spot. Варианты:
|
identity dictionary добавлено в azure.azcollection 2.5.0 | Идентификатор для данного ресурса. |
|
type string |
Тип управляемого идентификатора. Варианты:
|
|
user_assigned_identities dictionary |
Пользовательские управляемые идентификаторы и их параметры. По умолчанию: |
|
append boolean |
Если список идентификаторов должен быть добавлен к текущим идентификаторам (true), или если он должен заменить текущие идентификаторы (false). Варианты:
|
|
id list / elements=string |
Список пользовательских назначенных идентификаторов, связанных с этим ресурсом. По умолчанию: |
image any | Указывает образ, используемый для создания ВМ. Если строка, образ берется из пользовательского образа на основе имени. Если словарь с ключами publisher, offer, sku и version, образ берется из образа Marketplace. Обратите внимание, что установлено version=latest, чтобы получить последнюю версию данного образа. Если словарь с ключами name и resource_group, образ берется из пользовательского образа на основе name и resource_group. Обратите внимание, что ключ resource_group необязателен, и если он опущен, все образы в подписке будут проверяться на соответствие name. Поддержка пользовательских образов была добавлена в Ansible 2.5. Требуется при создании. |
load_balancer string | Имя балансировщика нагрузки. |
location string | Допустимое расположение Azure. По умолчанию используется расположение группы ресурсов. |
log_mode string | Родительский аргумент. |
log_path string | Родительский аргумент. |
managed_disk_type string | Тип управляемого диска. Варианты:
|
max_price float | Указывает максимальную цену, которую вы готовы заплатить за виртуальную машину Azure Spot/VMSS. Эта цена указана в долларах США.
Требуется, чтобы приоритет был установлен на Spot. По умолчанию: |
name string / обязательно | Имя виртуальной машины. |
orchestration_mode string | Указывает режим оркестрации для набора виртуальных машин. Когда orchestration_mode=Flexible, необходимо установить public_ip_per_vm=True. Когда orchestration_mode=Flexible, необходимо установить platform_fault_domain_count. Когда orchestration_mode=Flexible, необходимо установить single_placement_group=False. Когда orchestration_mode=Flexible, нельзя настроить overprovision. Когда orchestration_mode=Flexible, нельзя настроить upgrade_policy и настраивается при orchestration_mode=Uniform. Варианты:
|
os_disk_caching псевдонимы: disk_caching string | Тип кэширования диска ОС. Варианты:
|
os_disk_size_gb целое число | Указывает размер диска операционной системы в гигабайтах. Это можно использовать для перезаписи размера диска в образе виртуальной машины. |
os_type string | Основной тип операционной системы. Варианты:
|
overprovision булево | Указывает, следует ли перевыполнять набор виртуальных машин. Варианты:
|
password string | Пароль пользователя Active Directory. Используется при аутентификации с пользователем Active Directory вместо принципала службы. |
plan словарь | План лицензирования сторонних поставщиков для виртуальной машины. |
|
name string / обязательно |
Имя плана лицензирования. |
|
product string / обязательно |
Название продукта. |
|
promotion_code string |
Необязательный промокод. |
|
publisher string / обязательно |
Издатель, предлагающий план. |
platform_fault_domain_count integer | Количество доменной ошибки для каждой группы размещения. По умолчанию: |
priority string | Приоритет VMSS.
Варианты:
|
profile string | Профиль безопасности, найденный в файле ~/.azure/credentials. |
public_ip_per_vm boolean | Назначить общедоступный IP-адрес каждой виртуальной машине в масштабируемом наборе. Варианты:
|
remove_on_absent список / элементы=строка | При удалении ВМ с помощью state=absent, также удаляются связанные ресурсы. Он может быть Любой другой ввод будет проигнорирован. По умолчанию: |
resource_group строка / обязательно | Имя группы ресурсов, содержащей набор виртуальных машин. |
scale_in_policy строка | определяет порядок масштабирования ВМ в наборе виртуальных машин Варианты:
|
secret строка | Секрет Azure клиента. Используется при аутентификации с помощью Служебного принципа. |
security_group псевдонимы: security_group_name любой | Существующая группа безопасности, с которой необходимо связать подсеть. Это может быть имя группы безопасности, находящейся в той же группе ресурсов. Это может быть идентификатор ресурса. Это может быть словарь, содержащий name и resource_group группы безопасности. |
security_profile словарь | Устанавливает параметры профиля безопасности для набора виртуальных машин. |
|
encryption_at_host логическое |
Это свойство может быть использовано пользователем в запросе для включения или отключения шифрования на хосте для набора виртуальных машин. Это включит шифрование для всех дисков, включая системный и временный диски, на самом хосте. Варианты:
|
|
security_type строка |
Указывает тип безопасности для набора виртуальных машин. Он устанавливается как TrustedLaunch для включения настроек UefiSettings. Варианты:
|
|
uefi_settings словарь |
Устанавливает параметры безопасности, такие как безопасный запуск и vTPM, используемые при создании набора виртуальных машин. |
|
secure_boot_enabled логическое |
Указывает, должен ли быть включён безопасный запуск для набора виртуальных машин. Варианты:
|
|
v_tpm_enabled логическое |
Указывает, должен ли быть включён vTPM для набора виртуальных машин. Варианты:
|
short_hostname строка | Короткое имя хоста. |
single_placement_group логическое | Если true, это ограничивает набор виртуальных машин одной группой размещения, максимальным размером 100 виртуальных машин. Варианты:
|
ssh_password_enabled логическое | Если os_type Linux, установка ssh_password_enabled=false отключит аутентификацию по паролю SSH и потребует использование ключей SSH. Варианты:
|
ssh_public_keys список / элементы=словарь | Для os_type=Linux укажите список ключей SSH. Каждый элемент в списке должен быть словарем, где словарь содержит два ключа, Установите На хосте Enterprise Linux, например, path=/home/<admin username>/.ssh/authorized_keys. Установите |
state строка | Утверждает состояние набора виртуальных машин. Состояние Состояние Варианты:
|
subnet_name псевдонимы: subnet строка | Имя подсети. |
subscription_id string | Ваш идентификатор подписки Azure. |
tags dictionary | Словарь пар «строка:строка» для назначения метаданных объекту. Метаданные теги объекта будут обновлены всеми предоставленными значениями. Чтобы удалить теги, установите опцию append_tags в значение false. В настоящее время зоны Azure DNS и службы Traffic Manager также не позволяют использовать пробелы в теге. Azure Front Door не поддерживает использование Azure Automation и Azure CDN поддерживают только 15 тегов на ресурсах. |
tenant string | Идентификатор Azure-аренды. Используйте при аутентификации с помощью принципала службы. |
terminate_event_timeout_minutes integer | Время ожидания уведомления об событии завершения в диапазоне от 5 до 15 |
thumbprint string added in azure.azcollection 1.14.0 | Отпечаток цифровой подписи закрытого ключа, указанного в x509_certificate_path. Используется при аутентификации с помощью принципала службы. Требуется, если определен x509_certificate_path. |
tier string | Уровень SKU. Варианты:
|
upgrade_policy string | Политика обновления. Требуется при создании наборов виртуальных машин Azure. Варианты:
|
virtual_network_name aliases: virtual_network string | Имя виртуальной сети. |
virtual_network_resource_group string | При создании виртуальной машины, если должна использоваться определённая виртуальная сеть из другой группы ресурсов. Используйте этот параметр для указания группы ресурсов, которую нужно использовать. |
vm_size string | Действительное значение размера виртуальной машины Azure. Например, Список вариантов зависит от подписки и расположения. Проверьте свою подписку, чтобы узнать доступные варианты. |
x509_certificate_path path added in azure.azcollection 1.14.0 | Путь к сертификату X509, используемому для создания принципала службы в формате PEM. Сертификат должен быть присоединен к закрытому ключу. Используется при аутентификации с помощью принципала службы. |
zones list / elements=string | Список зон доступности для набора виртуальных машин. |
Примечания
Примечание
- Для аутентификации с Azure вы можете передать параметры, установить переменные среды, использовать профиль, сохранённый в ~/.azure/credentials, или войти перед запуском задач или playbook с помощью
az login. - Аутентификация также возможна с использованием принципала службы или пользователя Active Directory.
- Для аутентификации через принципала службы передайте subscription_id, client_id, secret и tenant или установите переменные среды AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET и AZURE_TENANT.
- Для аутентификации через пользователя Active Directory передайте ad_user и password или установите AZURE_AD_USER и AZURE_PASSWORD в среде.
- В качестве альтернативы, учетные данные могут быть сохранены в ~/.azure/credentials. Это ini-файл, содержащий раздел [default] и следующие ключи: subscription_id, client_id, secret и tenant или subscription_id, ad_user и password. Также возможно добавление дополнительных профилей. Укажите профиль, передав профиль или установив AZURE_PROFILE в среде.
См. также
См. также
- Вход в Azure CLI
-
Как выполнить аутентификацию с использованием команды
az login.
Примеры
- name: Create VMSS
azure_rm_virtualmachinescaleset:
resource_group: myResourceGroup
name: testvmss
vm_size: Standard_DS1_v2
capacity: 2
virtual_network_name: testvnet
upgrade_policy: Manual
subnet_name: testsubnet
terminate_event_timeout_minutes: 10
scale_in_policy: NewestVM
admin_username: "{{ username }}"
ssh_password_enabled: false
ssh_public_keys:
- path: /home/adminUser/.ssh/authorized_keys
key_data: < insert your ssh public key here... >
managed_disk_type: Standard_LRS
image:
offer: 0001-com-ubuntu-server-focal
publisher: canonical
sku: 20_04-lts-gen2
version: latest
data_disks:
- lun: 0
disk_size_gb: 64
caching: ReadWrite
managed_disk_type: Standard_LRS
- name: Create VMSS with an image that requires plan information
azure_rm_virtualmachinescaleset:
resource_group: myResourceGroup
name: testvmss
vm_size: Standard_DS1_v2
capacity: 3
virtual_network_name: testvnet
upgrade_policy: Manual
subnet_name: testsubnet
admin_username: "{{ username }}"
ssh_password_enabled: false
ssh_public_keys:
- path: /home/adminUser/.ssh/authorized_keys
key_data: < insert your ssh public key here... >
managed_disk_type: Standard_LRS
image:
offer: cis-ubuntu-linux-1804-l1
publisher: center-for-internet-security-inc
sku: Stable
version: latest
plan:
name: cis-ubuntu-linux-1804-l1
product: cis-ubuntu-linux-1804-l1
publisher: center-for-internet-security-inc
data_disks:
- lun: 0
disk_size_gb: 64
caching: ReadWrite
managed_disk_type: Standard_LRS
- name: Create a VMSS with a custom image
azure_rm_virtualmachinescaleset:
resource_group: myResourceGroup
name: testvmss
vm_size: Standard_DS1_v2
capacity: 2
virtual_network_name: testvnet
upgrade_policy: Manual
subnet_name: testsubnet
admin_username: "{{ username }}"
admin_password: "{{ password }}"
managed_disk_type: Standard_LRS
image: customimage001
- name: Create a VMSS with over 100 instances
azure_rm_virtualmachinescaleset:
resource_group: myResourceGroup
name: testvmss
vm_size: Standard_DS1_v2
capacity: 120
single_placement_group: false
virtual_network_name: testvnet
upgrade_policy: Manual
subnet_name: testsubnet
admin_username: "{{ username }}"
admin_password: "{{ password }}"
managed_disk_type: Standard_LRS
image: customimage001
- name: Create a VMSS with a custom image from a particular resource group
azure_rm_virtualmachinescaleset:
resource_group: myResourceGroup
name: testvmss
vm_size: Standard_DS1_v2
capacity: 2
virtual_network_name: testvnet
upgrade_policy: Manual
subnet_name: testsubnet
admin_username: "{{ username }}"
admin_password: "{{ password }}"
managed_disk_type: Standard_LRS
image:
name: customimage001
resource_group: myResourceGroup
- name: Create a VMSS with Spot Instance
azure_rm_virtualmachinescaleset:
resource_group: myResourceGroup
name: testvmss
vm_size: Standard_DS1_v2
capacity: 5
priority: Spot
eviction_policy: Deallocate
virtual_network_name: testvnet
upgrade_policy: Manual
subnet_name: testsubnet
admin_username: "{{ username }}"
admin_password: "{{ password }}"
managed_disk_type: Standard_LRS
image: customimage001
- name: Create VMSS with security group
azure_rm_virtualmachinescaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}
vm_size: Standard_D4s_v3
admin_username: testuser
single_placement_group: false
platform_fault_domain_count: 1
public_ip_per_vm: true
ssh_password_enabled: false
ssh_public_keys:
- path: /home/testuser/.ssh/authorized_keys
key_data: "ssh-rsa ****"
virtual_network_name: VMSStestVnet
subnet_name: VMSStestSubnet
managed_disk_type: Standard_LRS
orchestration_mode: Flexible
os_disk_caching: ReadWrite
security_profile:
uefi_settings:
secure_boot_enabled: true
v_tpm_enabled: false
encryption_at_host: false
security_type: TrustedLaunch
image:
offer: 0001-com-ubuntu-server-jammy
publisher: Canonical
sku: 22_04-lts-gen2
version: latest
data_disks:
- lun: 0
disk_size_gb: 64
caching: ReadWrite
managed_disk_type: Standard_LRS
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для данного модуля:
Ключ | Описание |
|---|---|
azure_vmss dictionary | Данные о текущем состоянии объекта. Обратите внимание, что данные не являются частью зарегистрированного вывода, но доступны непосредственно. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/azure/azcollection/azure_rm_virtualmachinescaleset_module.html