azure.azcollection.azure_rm_virtualmachinescaleset – Управление группами виртуальных машин Azure
Примечание
Этот плагин является частью коллекции azure.azcollection (версия 1.4.0).
Для его установки используйте: ansible-galaxy collection install azure.azcollection.
Для использования в playbook, укажите: azure.azcollection.azure_rm_virtualmachinescaleset.
Новое в версии 0.1.2: из azure.azcollection
Описание
- Создание и обновление группы виртуальных машин.
- Обратите внимание, что этот модуль назывался 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 строка | Пароль для имени пользователя администратора. Не требуется, если os_type — Linux, а аутентификация по паролю SSH отключена установкой ssh_password_enabled=false. | ||
| admin_username строка | Имя пользователя администратора для доступа к хосту после его создания. Требуется при создании виртуальной машины. | ||
| api_profile строка добавлен в 0.0.1 of azure.azcollection | По умолчанию: "latest" | Выбирает профиль API для взаимодействия с Azure-сервисами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать с Azure Stack. | |
| append_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 могут использоваться для идентификации идентификатора подписки, если их несколько, иначе используется по умолчанию подписка Azure 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 строка |
| Тип кэширования диска данных. | |
| disk_size_gb строка | Начальный размер диска в ГБ для пустых дисков данных. | ||
| lun строка | По умолчанию: 0 | Логический номер устройства для диска данных. | |
| managed_disk_type строка |
| Тип управляемого диска данных. | |
| enable_accelerated_networking булево |
| Указывает, хочет ли пользователь разрешить ускоренную обработку сетевых операций для виртуальных машин в создаваемом масштабируемом наборе. | |
| ephemeral_os_disk булево |
| Параметры настроек временного диска для операционной системы. Временный диск ОС поддерживается только для экземпляров ВМ, использующих управляемые диски. | |
| image строка / требуется | Указывает образ, используемый для создания ВМ. Если строка, образ берется из пользовательского образа на основе имени. Если словарь с ключами publisher, offer, sku и version, образ берется из образа Marketplace. Обратите внимание, что установлено version=latest, чтобы получить последнюю версию данного образа. Если словарь с ключами name и resource_group, образ берется из пользовательского образа на основе name и resource_group. Обратите внимание, что ключ resource_group необязателен, и если он опущен, будут просматриваться все образы в подписке по name. Поддержка пользовательских образов была добавлена в 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 строка / требуется | Издатель, предлагающий план. | ||
| profile строка | Профиль безопасности, найденный в файле ~/.azure/credentials. | ||
| public_ip_per_vm булево |
| Назначить общедоступный IP-адрес каждой виртуальной машине масштабируемого набора. | |
| 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 логическое значение |
| При значении true набор масштабирования ограничен одной группой размещения максимального размера в 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
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
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
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 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: adminUser
admin_password: password01
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: 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/azure/azcollection/azure_rm_virtualmachinescaleset_module.html