Spec-Zone.ru › Ansible 2.10

azure.azcollection.azure_rm_aks – Управление экземпляром управляемой Azure Container Service (AKS)

Примечание

Этот плагин входит в коллекцию azure.azcollection (версия 1.3.1).

Для его установки используйте: ansible-galaxy collection install azure.azcollection.

Для использования в книге задач укажите: azure.azcollection.azure_rm_aks.

Добавлено в версии 0.1.2: коллекции azure.azcollection

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Обзор

  • Создание, обновление и удаление экземпляра управляемой Azure Container Service (AKS).

Требования

Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python >= 2.7
  • azure >= 2.0.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
aad_profile
строка
Профиль конфигурации Azure Active Directory.
client_app_id
строка
Идентификатор приложения клиента AAD.
server_app_id
строка
Идентификатор приложения сервера AAD.
server_app_secret
строка
Секрет приложения сервера AAD.
tenant_id
строка
Идентификатор аренды AAD для аутентификации.
Если не указано, используется аренда подписки развертывания.
ad_user
строка
Имя пользователя Active Directory. Используется при аутентификации с пользователем Active Directory, а не с принципалом службы.
addon
словарь
Профиль дополнения управляемого кластера.
Ключ может быть http_application_routing, monitoring, virtual_node.
Значение должно быть словарем, содержащим логическую переменную enabled.
http_application_routing
словарь
Решение HTTP-маршрутизации приложений упрощает доступ к приложениям, развернутым в вашем кластере.
enabled
булево
    Варианты:
  • нет
  • да
Включено ли решение.
monitoring
словарь
Обеспечивает визуализацию производительности, собирая метрики памяти и процессора с контроллеров, узлов и контейнеров, доступных в Kubernetes через API метрик.
enabled
булево
    Варианты:
  • нет
  • да
Включено ли решение.
log_analytics_workspace_resource_id
строка / обязательно
Место хранения метрик контейнеров.
virtual_node
словарь
Виртуальные узлы обеспечивают быстрое развертывание поддоов и оплату только за время их выполнения.
Нет необходимости ждать автоматического масштабирования Kubernetes для развертывания узлов вычислений VM для запуска дополнительных поддоов.
enabled
булево
    Варианты:
  • нет
  • да
Включено ли решение.
subnet_resource_id
строка / обязательно
Подсеть, связанная с кластером.
adfs_authority_url
строка
добавлен в 0.0.1 из azure.azcollection
URL-адрес авторизации Azure AD. Используется при аутентификации с именем пользователя/паролем и собственной авторизацией ADFS.
agent_pool_profiles
строка
Подварианты профиля пула агентов.
availability_zones
список / элементы=строка
    Варианты:
  • 1
  • 2
  • 3
Availability зоны для узлов. Обязательно использовать тип пула агентов VirtualMachineScaleSets.
count
строка / обязательно
Количество агентов (виртуальных машин) для размещения контейнеров docker.
Допустимые значения должны быть в диапазоне от 1 до 100 (включительно).
enable_auto_scaling
булево
    Варианты:
  • нет
  • да
Включить автоматическое масштабирование.
max_count
целое число
Максимальное количество узлов для автоматического масштабирования.
Требуется, если enable_auto_scaling=True.
min_count
целое число
Минимальное количество узлов для автоматического масштабирования.
Требуется, если enable_auto_scaling=True.
name
строка / обязательно
Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов.
os_disk_size_gb
строка
Размер системного диска.
type
строка
    Варианты:
  • VirtualMachineScaleSets
  • AvailabilitySet
AgentPoolType представляет типы пула агентов.
Возможные значения включают VirtualMachineScaleSets и AvailabilitySet.
vm_size
строка / обязательно
Размер ВМ каждого узла пула агентов (например, Standard_F1 / Standard_D2v2).
vnet_subnet_id
строка
Указывает идентификатор подсети VNet.
api_profile
строка
добавлен в 0.0.1 из azure.azcollection
По умолчанию:
"latest"
Выбирает профиль API для взаимодействия с Azure-сервисами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать с Azure Stack.
append_tags
булево
    Варианты:
  • нет
  • да ←
Управление тем, является ли поле тегов каноническим или просто добавляется к существующим тегам.
При каноническом значении любые теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта.
auth_source
строка
добавлен в 0.0.1 из 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.
cert_validation_mode
строка
добавлен в 0.0.1 из azure.azcollection
    Варианты:
  • ignore
  • validate
Управление проверкой сертификатов для Azure-точке. По умолчанию все модули проверяют серверный сертификат, но при использовании HTTPS-прокси или обращении к Azure Stack может потребоваться отключить эту функцию, передав ignore. Также может быть задан через профиль файла учетных данных или переменную окружения AZURE_CERT_VALIDATION.
client_id
строка
Идентификатор клиента Azure. Используется при аутентификации с принципалом службы.
cloud_environment
строка
добавлен в 0.0.1 из azure.azcollection
По умолчанию:
"AzureCloud"
Для облачных сред, отличных от общедоступного облака США, имя среды (определяется Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес конечной точки обнаружения метаданных (требуется для Azure Stack). Также может быть задан через профиль файла учетных данных или переменную окружения AZURE_CLOUD_ENVIRONMENT.
dns_prefix
строка
Префикс DNS, указанный при создании управляемого кластера.
enable_rbac
булево
    Варианты:
  • нет ←
  • да
Включить RBAC.
Существующие AKS-кластеры без RBAC в настоящее время не могут быть обновлены для использования RBAC.
kubernetes_version
строка
Версия Kubernetes, указанная при создании управляемого кластера.
linux_profile
строка
Подварианты профиля Linux.
admin_username
строка / обязательно
Имя администратора для кластера.
ssh_key
string / required
Открытый ключ SSH, используемый для доступа к кластеру.
location
string
Допустимое расположение Azure. По умолчанию используется расположение группы ресурсов.
name
string / required
Имя управляемого экземпляра Azure Container Services (AKS).
network_profile
string
Профиль сетевой конфигурации.
dns_service_ip
string
По умолчанию:
"10.0.0.10"
IP-адрес, назначенный службе DNS Kubernetes.
Он должен находиться в диапазоне адресов служб Kubernetes, указанном в serviceCidr.
docker_bridge_cidr
string
По умолчанию:
"172.17.0.1/16"
Диапазон IP-адресов в CIDR-нотации, назначенный сетевому мосту Docker.
Он не должен перекрываться с IP-диапазонами подсетей или диапазоном адресов служб Kubernetes.
load_balancer_sku
string
    Варианты:
  • standard
  • basic
Набор функций балансировщика нагрузки для управляемого кластера.
network_plugin
string
    Варианты:
  • azure
  • kubenet ←
Сетевой плагин, используемый для построения сети Kubernetes.
Это свойство изменить нельзя.
С kubenet, узлам присваивается IP-адрес из подсети виртуальной сети Azure.
Функции AKS, такие как виртуальные узлы или сетевые политики, не поддерживаются с kubenet.
azure позволяет использовать Azure Container Networking Interface (CNI), каждый контейнер получает IP-адрес из подсети и может быть доступен напрямую.
network_policy
string
    Варианты:
  • azure
  • calico
Сетевая политика, используемая для построения сети Kubernetes.
pod_cidr
string
По умолчанию:
"10.244.0.0/16"
Диапазон IP-адресов в CIDR-нотации для присвоения IP-адресов контейнерам, когда используется network_plugin=kubenet.
Это должен быть большой диапазон адресов, не используемый в вашей сетевой среде.
Этот диапазон адресов должен быть достаточно большим, чтобы вместить ожидаемое количество узлов.
service_cidr
string
По умолчанию:
"10.0.0.0/16"
Диапазон IP-адресов в CIDR-нотации для присвоения IP-адресов кластерам служб.
Он не должен перекрываться с IP-диапазонами подсетей.
Это должен быть диапазон адресов *.10 для вашего диапазона IP-адресов служб.
node_resource_group
string
Имя группы ресурсов, содержащей узлы пула агентов.
Невозможно обновить.
password
string
Пароль пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с принципалом службы.
profile
string
Профиль безопасности, найденный в файле ~/.azure/credentials.
resource_group
string / required
Имя группы ресурсов, в которой существует или будет создан управляемый экземпляр Azure Container Services (AKS).
secret
string
Секретный ключ клиента Azure. Используйте при аутентификации с принципалом службы.
service_principal
string
Параметры принципала службы.
client_id
string / required
Идентификатор принципала службы.
client_secret
string
Секретный пароль, связанный с принципалом службы.
state
string
    Варианты:
  • absent
  • present ←
Утвердить состояние AKS. Используйте present для создания или обновления AKS и absent для его удаления.
subscription_id
string
Идентификатор вашей подписки Azure.
tags
dictionary
Словарь пар строка:строка для назначения метаданных объекту.
Метаданные-метки объекта будут обновлены любыми предоставленными значениями.
Чтобы удалить метки, установите опцию append_tags в значение false.
tenant
string
Идентификатор Azure-тенанта. Используется при аутентификации с принципалом службы.

Примечания

Примечание

  • Для аутентификации в 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. Также возможно добавление дополнительных профилей. Укажите профиль, передав profile или установив AZURE_PROFILE в среде.

См. также

См. также

Авторизация с помощью Azure CLI

Как авторизоваться с помощью команды az login.

Примеры

- name: Create an AKS instance
  azure_rm_aks:
    name: myAKS
    resource_group: myResourceGroup
    location: eastus
    dns_prefix: akstest
    kubernetes_version: 1.14.6
    linux_profile:
      admin_username: azureuser
      ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...
    service_principal:
      client_id: "cf72ca99-f6b9-4004-b0e0-bee10c521948"
      client_secret: "Password1234!"
    agent_pool_profiles:
      - name: default
        count: 1
        vm_size: Standard_DS1_v2
        enable_auto_scaling: True
        type: VirtualMachineScaleSets
        max_count: 3
        min_count: 1
        enable_rbac: yes

- name: Create a managed Azure Container Services (AKS) instance
  azure_rm_aks:
    name: myAKS
    location: eastus
    resource_group: myResourceGroup
    dns_prefix: akstest
    kubernetes_version: 1.14.6
    linux_profile:
      admin_username: azureuser
      ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...
    service_principal:
      client_id: "cf72ca99-f6b9-4004-b0e0-bee10c521948"
      client_secret: "Password123!"
    agent_pool_profiles:
      - name: default
        count: 5
        vm_size: Standard_D2_v2
    tags:
      Environment: Production

- name: Remove a managed Azure Container Services (AKS) instance
  azure_rm_aks:
    name: myAKS
    resource_group: myResourceGroup
    state: absent

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое значение Описание
state
dictionary
всегда
Текущее состояние Azure Container Service (AKS).

Пример:
{'agent_pool_profiles': [{'count': 1, 'dns_prefix': None, 'name': 'default', 'os_disk_size_gb': None, 'os_type': 'Linux', 'ports': None, 'storage_profile': 'ManagedDisks', 'vm_size': 'Standard_DS1_v2', 'vnet_subnet_id': None}], 'changed': False, 'dns_prefix': 'aks9860bdcd89', 'id': '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/aks9860bdc', 'kube_config': '......', 'kubernetes_version': '1.14.6', 'linux_profile': {'admin_username': 'azureuser', 'ssh_key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADA.....'}, 'location': 'eastus', 'name': 'aks9860bdc', 'provisioning_state': 'Succeeded', 'service_principal_profile': {'client_id': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'}, 'tags': {}, 'type': 'Microsoft.ContainerService/ManagedClusters'}


Авторы

  • Sertac Ozercan (@sozercan)
  • Yuwei Zhou (@yuwzho)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/azure/azcollection/azure_rm_aks_module.html

Spec-Zone.ru

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