community.azure.azure_rm_virtualmachinescaleset – Управление группами виртуальных машин Azure
Примечание
Этот плагин входит в коллекцию community.azure (версия 1.0.0).
Для его установки используйте: ansible-galaxy collection install community.azure.
Для использования в playbook укажите: community.azure.azure_rm_virtualmachinescaleset.
Обзор
- Создание и обновление группы виртуальных машин.
- Обратите внимание, что этот модуль назывался community.azure.azure_rm_virtualmachine_scaleset до Ansible 2.8. Использование не изменилось.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- azure >= 2.0.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| ad_user строка | Имя пользователя Active Directory. Используется при аутентификации с пользователем Active Directory, а не с главным объектом службы. | ||
| adfs_authority_url строка добавлен в 0.0.1 azure.azcollection | URL-адрес службы авторизации Azure AD. Используется при аутентификации с именем пользователя/паролем и собственной службой авторизации ADFS. | ||
| admin_password строка | Пароль от имени пользователя администратора. Не требуется, если тип ОС Linux, и аутентификация по паролю SSH отключена установкой ssh_password_enabled=false. | ||
| admin_username строка | Имя пользователя администратора, используемое для доступа к хосту после его создания. Требуется при создании виртуальной машины. | ||
| api_profile строка добавлен в 0.0.1 of azure.azcollection | По умолчанию: "latest" | Выбирает профиль API для использования при взаимодействии с Azure-сервисами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать с Azure Stack. | |
| append_tags логический тип |
| Управление тем, является ли поле тегов каноническим или оно просто добавляется к существующим тегам. При каноническом значении любые теги, отсутствующие в параметре tags, будут удалены из метаданных объекта. | |
| application_gateway строка | Имя шлюза приложений. | ||
| auth_source строка добавлен в 0.0.1 of azure.azcollection |
| Управление источником учетных данных для аутентификации. Также может быть задан через переменную среды ANSIBLE_AZURE_AUTH_SOURCE.При значении auto (по умолчанию) приоритет: параметры модуля -> env -> credential_file -> cli.При значении env, учетные данные будут считываться из переменных средыПри значении credential_file, профиль будет считан из ~/.azure/credentials.При значении cli, учетные данные будут взяты из профиля Azure CLI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для определения идентификатора подписки, если их несколько, иначе используется стандартная подписка az cli.При значении msi, хост-машина должна быть Azure-ресурсом с включенным расширением MSI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для определения идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам, иначе выбирается первая подписка.Параметр msi был добавлен в Ansible 2.6. | |
| capacity строка | По умолчанию: 1 | Емкость VMSS. | |
| cert_validation_mode строка добавлен в 0.0.1 of azure.azcollection |
| Управление поведением проверки сертификатов для Azure-точек входа. По умолчанию все модули проверяют сертификат сервера, но при использовании прокси HTTPS или работе с Azure Stack, может потребоваться отключить это поведение, передав ignore. Также может быть задано через профиль файла учетных данных или переменную среды AZURE_CERT_VALIDATION. | |
| client_id строка | Идентификатор Azure клиента. Используется при аутентификации с главным объектом службы. | ||
| cloud_environment строка добавлен в 0.0.1 of azure.azcollection | По умолчанию: "AzureCloud" | Для облачных сред, отличных от общедоступного облака США, имя среды (как определено Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес точки входа метаданных (требуется для Azure Stack). Также может быть задано через профиль файла учетных данных или переменную среды AZURE_CLOUD_ENVIRONMENT. | |
| custom_data строка | Данные, доступные виртуальной машине и используемые, например, cloud-init. Многие образы в маркетплейсе не готовы к 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 строка |
| Тип кэширования диска данных. | |
| create_option строка |
| Указывает, должен ли диск создаваться как Empty или FromImage. Это необходимо для использования пользовательских образов с дисками данных. | |
| disk_size_gb строка | Начальный размер диска в ГБ для пустых дисков данных. | ||
| lun строка | По умолчанию: 0 | Логический номер устройства (LUN) для диска данных. | |
| managed_disk_type строка |
| Тип управляемого диска данных. | |
| enable_accelerated_networking логический тип |
| Указывает, разрешено ли ускоренное сетевое подключение для виртуальных машин в создаваемой группе масштабирования. | |
| image строка / обязательно | Указывает образ, используемый для создания виртуальной машины. Если строка, образ берётся из пользовательского образа по имени. Если словарь с ключами publisher, offer, sku и version, образ берётся из образа Marketplace. Обратите внимание, что установите version=latest для получения последней версии данного образа. Если словарь с ключами name и resource_group, образ берётся из пользовательского образа по имени и группе ресурсов. Обратите внимание, что ключ resource_group необязателен, и если он опущен, будут просматриваться все образы в подписке по имени. Поддержка пользовательских образов была добавлена в Ansible 2.5. | ||
| load_balancer строка | Имя балансировщика нагрузки. | ||
| location строка | Допустимое местоположение Azure. По умолчанию совпадает с местоположением группы ресурсов. | ||
| managed_disk_type строка |
| Тип управляемого диска. | |
| name строка / обязательно | Имя виртуальной машины. | ||
| os_disk_caching строка |
| Тип кэширования диска ОС. алиасы: disk_caching | |
| os_type строка |
| Базовый тип операционной системы. | |
| overprovision логический тип |
| Указывает, должна ли группа масштабирования виртуальных машин быть избыточной. | |
| password строка | Пароль пользователя Active Directory. Используется при аутентификации с пользователем Active Directory, а не с главным объектом службы. | ||
| plan словарь | План сторонней оплаты за виртуальную машину. | ||
| name строка / обязательно | Имя плана оплаты. | ||
| product строка / обязательно | Имя продукта. | ||
| promotion_code строка | Необязательный промокод. | ||
| publisher строка / обязательно | Издатель, предлагающий план. | ||
| priority строка |
| Если вы хотите запросить виртуальные машины с низким приоритетом для VMSS, установите это значение в "Low". По умолчанию - "Regular". | |
| profile строка | Профиль безопасности в файле ~/.azure/credentials. | ||
| remove_on_absent строка | Значение по умолчанию: ["all"] | При удалении ВМ с помощью state=absent, также удалять связанные ресурсы. Может быть all или списком с любым из следующих элементов ['network_interfaces', 'virtual_storage', 'public_ips'].Любой другой ввод будет проигнорирован. | |
| resource_group строка / обязательно | Имя группы ресурсов, содержащей набор масштабирования виртуальных машин. | ||
| scale_in_policy строка |
| определяет порядок масштабирования входящих экземпляров vmss | |
| secret строка | Секрет Azure клиента. Используется при аутентификации с помощью принципала службы. | ||
| security_group строка | Существующая группа безопасности, с которой необходимо связать подсеть. Может быть именем группы безопасности, которая находится в той же группе ресурсов. Может быть идентификатором ресурса. Может быть словарем, содержащим name и resource_group группы безопасности. псевдонимы: security_group_name | ||
| short_hostname строка | Короткое имя хоста. | ||
| single_placement_group логическое значение |
| Если истинно, это ограничивает набор масштабирования одной группой размещения максимального размера 100 виртуальных машин. | |
| ssh_password_enabled логическое значение |
| Когда os_type — Linux, установка ssh_password_enabled=false отключит аутентификацию по паролю SSH и потребует использования ключей SSH. | |
| ssh_public_keys строка | Для os_type=Linux укажите список ключей SSH. Каждый элемент в списке должен быть словарем, где словарь содержит два ключа, path и key_data.Установите path в стандартное расположение файлов authorized_keys.Например, на Enterprise Linux хосте path=/home/<имя пользователя администратора>/.ssh/authorized_keys. Установите key_data в фактическое значение открытого ключа. | ||
| state строка |
| Утверждение состояния набора масштабирования виртуальных машин. Состояние present проверит, что машина существует с запрошенной конфигурацией. Если конфигурация существующей машины не совпадает, машина будет обновлена.Состояние absent удалит набор масштабирования виртуальных машин. | |
| subnet_name строка | Имя подсети. псевдонимы: subnet | ||
| subscription_id строка | Ваш идентификатор подписки Azure. | ||
| tags словарь | Словарь пар строка:строка для назначения метаданных объекту. Метаданные теги объекта будут обновлены любыми предоставленными значениями. Для удаления тегов установите параметр append_tags в значение false. | ||
| tenant строка | Идентификатор Azure-аренды. Используется при аутентификации с помощью принципала службы. | ||
| terminate_event_timeout_minutes строка | Время ожидания для события уведомления о завершении в диапазоне от 5 до 15 | ||
| tier строка |
| Уровень SKU. | |
| upgrade_policy строка |
| Политика обновления. Требуется при создании наборов масштабирования виртуальных машин Azure. | |
| virtual_network_name строка | Имя виртуальной сети. псевдонимы: virtual_network | ||
| virtual_network_resource_group строка | При создании виртуальной машины, если необходимо использовать определенную виртуальную сеть из другой группы ресурсов. Используйте этот параметр для указания группы ресурсов для использования. | ||
| vm_size строка | Действительное значение размера ВМ Azure. Например, Standard_D4.Список вариантов зависит от подписки и расположения. Проверьте свою подписку на наличие доступных вариантов. | ||
| zones список / элементы=строка | Список зон доступности для вашего набора масштабирования виртуальных машин. | ||
Примечания
Примечание
- Для аутентификации с Azure вы можете передать параметры, установить переменные среды, использовать профиль, хранящийся в ~/.azure/credentials, или войти перед запуском задач или игры с
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. Также можно добавить дополнительные профили. Укажите профиль, передав profile или установив AZURE_PROFILE в среде.
См. также
См. также
- Вход с помощью Azure CLI
-
Как войти в систему с помощью команды
az login.
Примеры
- name: Create VMSS
community.azure.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: adminUser
ssh_password_enabled: false
ssh_public_keys:
- path: /home/adminUser/.ssh/authorized_keys
key_data: < insert yor ssh public key here... >
managed_disk_type: Standard_LRS
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
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
community.azure.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: adminUser
ssh_password_enabled: false
ssh_public_keys:
- path: /home/adminUser/.ssh/authorized_keys
key_data: < insert yor 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
community.azure.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: adminUser
admin_password: password01
managed_disk_type: Standard_LRS
image: customimage001
- name: Create a VMSS with a custom image and override data disk
community.azure.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: adminUser
admin_password: password01
managed_disk_type: Standard_LRS
image: customimage001
data_disks:
- lun: 0
disk_size_gb: 64
caching: ReadWrite
managed_disk_type: Standard_LRS
create_option: FromImage
- name: Create a VMSS with over 100 instances
community.azure.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: adminUser
admin_password: password01
managed_disk_type: Standard_LRS
image: customimage001
- name: Create a VMSS with a custom image from a particular resource group
community.azure.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: adminUser
admin_password: password01
managed_disk_type: Standard_LRS
image:
name: customimage001
resource_group: myResourceGroup
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| azure_vmss словарь | всегда | Факты о текущем состоянии объекта. Обратите внимание, что факты не являются частью зарегистрированного вывода, но доступны напрямую. Пример: {'properties': {'overprovision': True, 'scaleInPolicy': {'rules': ['NewestVM']}, 'singlePlacementGroup': True, 'upgradePolicy': {'mode': 'Manual'}, 'virtualMachineProfile': {'networkProfile': {'networkInterfaceConfigurations': [{'name': 'testvmss', 'properties': {'dnsSettings': {'dnsServers': []}, 'enableAcceleratedNetworking': False, 'ipConfigurations': [{'name': 'default', 'properties': {'privateIPAddressVersion': 'IPv4', 'subnet': {'id': '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet'}}}], 'primary': True}}]}, 'osProfile': {'adminUsername': 'testuser', 'computerNamePrefix': 'testvmss', 'linuxConfiguration': {'disablePasswordAuthentication': True, 'ssh': {'publicKeys': [{'keyData': '', 'path': '/home/testuser/.ssh/authorized_keys'}]}}, 'secrets': []}, 'scheduledEventsProfile': {'terminateNotificationProfile': {'enable': True, 'notBeforeTimeout': 'PT10M'}}, 'storageProfile': {'dataDisks': [{'caching': 'ReadWrite', 'createOption': 'empty', 'diskSizeGB': 64, 'lun': 0, 'managedDisk': {'storageAccountType': 'Standard_LRS'}}], 'imageReference': {'offer': 'CoreOS', 'publisher': 'CoreOS', 'sku': 'Stable', 'version': '899.17.0'}, 'osDisk': {'caching': 'ReadWrite', 'createOption': 'fromImage', 'managedDisk': {'storageAccountType': 'Standard_LRS'}}}}}, 'sku': {'capacity': 2, 'name': 'Standard_DS1_v2', 'tier': 'Standard'}, 'tags': None, 'type': 'Microsoft.Compute/virtualMachineScaleSets'} |
Авторы
- Sertac Ozercan (@sozercan)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/azure/azure_rm_virtualmachinescaleset_module.html