Модуль azure.azcollection.azure_rm_virtualmachinescaleset — управление масштабируемыми наборами виртуальных машин Azure
Примечание
Этот модуль входит в коллекцию azure.azcollection (версия 3.18.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 string | Имя пользователя Active Directory. Используйте этот параметр для аутентификации с помощью пользователя Active Directory, а не субъекта-службы. |
adfs_authority_url string добавлено в azure.azcollection 0.0.1 | URL-адрес центра Azure AD. Используйте этот параметр для аутентификации по имени пользователя и паролю при наличии собственного центра ADFS. |
admin_password string | Пароль для имени пользователя администратора. Не требуется, если значение os_type — Linux, а аутентификация SSH по паролю отключена с помощью параметра ssh_password_enabled=false. |
admin_username string | Имя пользователя администратора, используемое для доступа к узлу после его создания. Обязательно при создании виртуальной машины. |
api_profile string добавлено в azure.azcollection 0.0.1 | Выбирает профиль API для взаимодействия со службами Azure. Значение по умолчанию По умолчанию: |
append_tags boolean | Определяет, является ли поле тегов каноническим или теги только добавляются к существующим. Если поле является каноническим, все теги, отсутствующие в параметре tags, будут удалены из метаданных объекта. Варианты:
|
application_gateway string | Имя шлюза приложений. |
application_security_groups list / elements=string | Задает массив ссылок на группы безопасности приложений. Идентификатор ресурса группы безопасности приложений. |
auth_source string добавлено в azure.azcollection 0.0.1 | Определяет источник учетных данных для аутентификации. Также можно задать с помощью переменной среды Если задано значение Если задано значение Если задано значение Если задано значение Если задано значение Параметр Варианты:
|
capacity integer | Емкость VMSS. По умолчанию: |
cert_validation_mode string добавлено в azure.azcollection 0.0.1 | Определяет поведение проверки сертификатов конечных точек Azure. По умолчанию все модули проверяют сертификат сервера, однако при использовании HTTPS-прокси или Azure Stack может потребоваться отключить эту проверку, передав Варианты:
|
client_id string | Идентификатор клиента Azure. Используйте этот параметр для аутентификации с помощью субъекта-службы или управляемого удостоверения (msi). Также можно задать с помощью переменной среды |
cloud_environment string добавлено в azure.azcollection 0.0.1 | Для облачных сред, отличных от общедоступного облака США, укажите имя среды (определенное в Azure Python SDK, например По умолчанию: |
custom_data string | Данные, предоставляемые виртуальной машине и используемые, например, Многие образы из Marketplace не поддерживают cloud-init. Поэтому данные, переданные в custom_data, будут проигнорированы. Если используемый образ отсутствует в списке https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init#cloud-init-overview, выполните следующие действия: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cloudinit-prepare-custom-image. |
data_disks list / elements=dictionary | Описывает список дисков данных. |
|
caching string |
Тип кэширования диска данных. Варианты:
|
|
disk_encryption_set string |
Идентификатор ресурса набора шифрования дисков для дисков данных. |
|
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 | Параметры временного диска, которые можно указать для диска операционной системы. Временный диск ОС поддерживается только для экземпляров VMS, использующих управляемый диск. Варианты:
|
eviction_policy string | Указывает политику вытеснения для виртуальной машины Azure Spot. Для параметра priority необходимо задать значение Spot. Варианты:
|
identity dictionary | Удостоверение объекта |
|
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. Для образов сообщества укажите словарь с ключом community_gallery_image_id. Задайте уникальный идентификатор образа из галереи сообщества для развертывания виртуальной машины. Значение community_gallery_image_id можно получить с помощью запроса GET к образу общей галереи. Обязательно при создании. |
load_balancer string | Имя балансировщика нагрузки. |
location string | Допустимое расположение Azure. По умолчанию используется расположение группы ресурсов. |
log_mode string | Родительский аргумент. |
log_path string | Родительский аргумент. |
managed_disk_type string | Тип управляемого диска. Варианты:
|
max_price float | Указывает максимальную цену, которую вы готовы заплатить за виртуальную машину или масштабируемый набор Azure Spot. Цена указывается в долларах США.
Для параметра priority необходимо задать значение Spot. По умолчанию: |
name string / обязательный | Имя виртуальной машины. |
oidc_token string добавлено в azure.azcollection 3.17.0 | Токен OpenID Connect (OIDC) (JWT), используемый для аутентификации с помощью удостоверения рабочей нагрузки. Этот токен обменивается с Azure AD с использованием федеративного удостоверения OIDC. Полезен в системах CI (например, GitHub Actions, Azure DevOps), где платформа напрямую предоставляет токен OIDC. Также можно задать с помощью переменной среды |
oidc_token_file_path path добавлено в azure.azcollection 3.17.0 | Путь к файлу, содержащему токен OpenID Connect (OIDC) (JWT), используемый для аутентификации с помощью удостоверения рабочей нагрузки. Файл должен содержать только необработанный токен. Этот способ обычно используется на платформах, которые сохраняют токены OIDC в виде файлов. Также можно задать с помощью переменной среды |
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_encryption_set string | Идентификатор ресурса набора шифрования дисков для диска ОС. |
os_disk_size_gb integer | Указывает размер диска операционной системы в гигабайтах. Этот параметр можно использовать, чтобы переопределить размер диска в образе виртуальной машины. |
os_type string | Базовый тип операционной системы. Варианты:
|
overprovision boolean | Указывает, следует ли использовать избыточное выделение ресурсов для набора масштабирования виртуальных машин. Варианты:
|
password string | Пароль пользователя Active Directory. Используйте при аутентификации с помощью пользователя Active Directory, а не субъекта-службы. |
plan dictionary | План выставления счетов стороннего поставщика для виртуальной машины. |
|
name string / обязательный |
Название плана выставления счетов. |
|
product string / обязательный |
Название продукта. |
|
promotion_code string |
Необязательный промокод. |
|
publisher string / обязательный |
Издатель, предлагающий план. |
platform_fault_domain_count integer | Количество доменов сбоя для каждой группы размещения. По умолчанию: |
priority string | Приоритет VMSS.
Варианты:
|
private_ip_address_version string | Доступно начиная с версии API 2017-03-30; определяет, является ли конкретная ipconfiguration По умолчанию используется IPv4. Варианты:
|
profile string | Профиль безопасности из файла ~/.azure/credentials. |
public_ip_per_vm boolean | Назначить общедоступный IP-адрес каждой виртуальной машине набора масштабирования Варианты:
|
remove_on_absent list / elements=string | При удалении виртуальной машины с помощью state=absent также удалять связанные ресурсы. Значением может быть Любые другие значения будут проигнорированы. По умолчанию: |
resource_group string / обязательный | Имя группы ресурсов, содержащей набор масштабирования виртуальных машин. |
scale_in_policy string | Определяет порядок уменьшения масштаба экземпляров VMSS. Варианты:
|
secret string | Секрет клиента Azure. Используйте при аутентификации с помощью субъекта-службы. |
security_group псевдонимы: security_group_name any | Существующая группа безопасности, с которой следует связать подсеть. Это может быть имя группы безопасности в той же группе ресурсов. Это может быть идентификатор ресурса. Это может быть словарь, содержащий name и resource_group группы безопасности. |
security_profile dictionary | Задает параметры профиля безопасности для набора масштабирования виртуальных машин. |
|
encryption_at_host boolean |
Это свойство можно использовать в запросе, чтобы включить или отключить шифрование узла для набора масштабирования виртуальных машин. Это включит шифрование всех дисков, включая диски ресурсов и временные диски непосредственно на узле. Варианты:
|
|
security_type string |
Задает тип безопасности набора масштабирования виртуальных машин. Для включения UefiSettings устанавливается значение TrustedLaunch. Варианты:
|
|
uefi_settings dictionary |
Задает параметры безопасности, такие как безопасная загрузка и vTPM, используемые при создании набора масштабирования виртуальных машин. |
|
secure_boot_enabled boolean |
Указывает, следует ли включить безопасную загрузку для набора масштабирования виртуальных машин. Варианты:
|
|
v_tpm_enabled boolean |
Указывает, следует ли включить vTPM для набора масштабирования виртуальных машин. Варианты:
|
short_hostname string | Короткое имя узла. |
single_placement_group boolean | Если значение равно true, набор масштабирования ограничивается одной группой размещения максимального размера 100 виртуальных машин. Варианты:
|
ssh_password_enabled boolean | Если для os_type задано значение Linux, установка ssh_password_enabled=false отключит аутентификацию SSH по паролю и потребует использования ключей SSH. Варианты:
|
ssh_public_keys list / elements=dictionary | Для os_type=Linux укажите список ключей SSH. Каждый элемент списка должен быть словарем с двумя ключами: Задайте для Например, на узле Enterprise Linux укажите path=/home/<admin username>/.ssh/authorized_keys. Для |
state string | Задает требуемое состояние набора масштабирования виртуальных машин. Состояние Состояние Варианты:
|
subnet_name псевдонимы: subnet string | Имя подсети. |
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 добавлено в azure.azcollection 1.14.0 | Отпечаток закрытого ключа, указанного в x509_certificate_path. Используйте при аутентификации с помощью субъекта-службы. Обязателен, если задан x509_certificate_path. |
tier string | Уровень SKU. Варианты:
|
upgrade_policy string | Политика обновления. Обязательна при создании наборов масштабирования виртуальных машин Azure. Варианты:
|
virtual_network_name псевдонимы: virtual_network string | Имя виртуальной сети. |
virtual_network_resource_group string | При создании виртуальной машины этот параметр используется, если требуется виртуальная сеть из другой группы ресурсов. Укажите с его помощью группу ресурсов. |
vm_size string | Допустимое значение размера виртуальной машины Azure. Например, Список доступных вариантов зависит от подписки и расположения. Проверьте доступные варианты для своей подписки. |
x509_certificate_path path добавлено в azure.azcollection 1.14.0 | Путь к сертификату X509 в формате PEM, используемому для создания субъекта-службы. Сертификат необходимо добавить к закрытому ключу. Используйте при аутентификации с помощью субъекта-службы. |
zones list / elements=string | Список зон доступности для набора масштабирования виртуальных машин. |
Примечания
Примечание
- Для аутентификации в Azure можно передать параметры, задать переменные среды, использовать профиль из ~/.azure/credentials или выполнить вход перед запуском задач или плейбука с помощью
az login. - Также возможна аутентификация с помощью субъекта-службы или пользователя Active Directory.
- Для аутентификации через OIDC передайте client_id, tenant и oidc_token или oidc_token_file_path либо задайте переменные среды AZURE_CLIENT_ID, AZURE_TENANT и AZURE_FEDERATED_TOKEN или AZURE_FEDERATED_TOKEN_FILE.
- Для аутентификации с помощью субъекта-службы передайте 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. Можно также добавить дополнительные профили. Укажите профиль, передав profile или задав 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 a community gallery image ID
azure_rm_virtualmachinescaleset:
resource_group: myResourceGroup
name: testvmss
vm_size: Standard_D8_v4
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 ********* xiuxi.sun@qq.com"
virtual_network_name: VMSStestVnet
subnet_name: VMSStestSubnet
managed_disk_type: Standard_LRS
orchestration_mode: Flexible
os_disk_caching: ReadWrite
image:
community_gallery_image_id: "/CommunityGalleries/yellowbrick-fc7e81f1-87dd-4989-9ca8-03743762e873/Images/Ubuntu-5.15.0-1035-azure_22.04"
data_disks:
- lun: 0
disk_size_gb: 64
caching: ReadWrite
managed_disk_type: Standard_LRS
- 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/azure/azcollection/azure_rm_virtualmachinescaleset_module.html