Spec-Zone.ru › Ansible 2.11

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
    Варианты:
  • авто ←
  • cli
  • credential_file
  • env
  • msi
Управление источником учетных данных для аутентификации.
Также может быть задан через переменную среды 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
    Варианты:
  • ignore
  • validate
Управление поведением проверки сертификатов для 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
строка
    Варианты:
  • ReadOnly ←
  • ReadWrite
Тип кэширования диска данных.
create_option
строка
    Варианты:
  • Empty
  • FromImage
Указывает, должен ли диск создаваться как Empty или FromImage. Это необходимо для использования пользовательских образов с дисками данных.
disk_size_gb
строка
Начальный размер диска в ГБ для пустых дисков данных.
lun
строка
По умолчанию:
0
Логический номер устройства (LUN) для диска данных.
managed_disk_type
строка
    Варианты:
  • Standard_LRS
  • Premium_LRS
Тип управляемого диска данных.
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
строка
    Варианты:
  • Standard_LRS
  • Premium_LRS
Тип управляемого диска.
name
строка / обязательно
Имя виртуальной машины.
os_disk_caching
строка
    Варианты:
  • ReadOnly ←
  • ReadWrite
Тип кэширования диска ОС.

алиасы: disk_caching
os_type
строка
    Варианты:
  • Windows
  • Linux ←
Базовый тип операционной системы.
overprovision
логический тип
    Варианты:
  • нет
  • да ←
Указывает, должна ли группа масштабирования виртуальных машин быть избыточной.
password
строка
Пароль пользователя Active Directory. Используется при аутентификации с пользователем Active Directory, а не с главным объектом службы.
plan
словарь
План сторонней оплаты за виртуальную машину.
name
строка / обязательно
Имя плана оплаты.
product
строка / обязательно
Имя продукта.
promotion_code
строка
Необязательный промокод.
publisher
строка / обязательно
Издатель, предлагающий план.
priority
строка
    Варианты:
  • Regular ←
  • Low
Если вы хотите запросить виртуальные машины с низким приоритетом для VMSS, установите это значение в "Low". По умолчанию - "Regular".
profile
строка
Профиль безопасности в файле ~/.azure/credentials.
remove_on_absent
строка
Значение по умолчанию:
["all"]
При удалении ВМ с помощью state=absent, также удалять связанные ресурсы.
Может быть all или списком с любым из следующих элементов ['network_interfaces', 'virtual_storage', 'public_ips'].
Любой другой ввод будет проигнорирован.
resource_group
строка / обязательно
Имя группы ресурсов, содержащей набор масштабирования виртуальных машин.
scale_in_policy
строка
    Варианты:
  • Default
  • NewestVM
  • OldestVM
определяет порядок масштабирования входящих экземпляров 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
строка
    Варианты:
  • absent
  • present ←
Утверждение состояния набора масштабирования виртуальных машин.
Состояние present проверит, что машина существует с запрошенной конфигурацией. Если конфигурация существующей машины не совпадает, машина будет обновлена.
Состояние absent удалит набор масштабирования виртуальных машин.
subnet_name
строка
Имя подсети.

псевдонимы: subnet
subscription_id
строка
Ваш идентификатор подписки Azure.
tags
словарь
Словарь пар строка:строка для назначения метаданных объекту.
Метаданные теги объекта будут обновлены любыми предоставленными значениями.
Для удаления тегов установите параметр append_tags в значение false.
tenant
строка
Идентификатор Azure-аренды. Используется при аутентификации с помощью принципала службы.
terminate_event_timeout_minutes
строка
Время ожидания для события уведомления о завершении
в диапазоне от 5 до 15
tier
строка
    Варианты:
  • Basic
  • Standard
Уровень 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API