Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин является частью коллекции azure.azcollection (версия 1.4.0).

Для его установки используйте: 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 развернет узлы вычислений виртуальных машин для запуска дополнительных под.
enabled
логическое
    Варианты:
  • нет
  • да
Включено ли решение.
subnet_resource_id
строка / обязательно
Подсеть, связанная с кластером.
adfs_authority_url
строка
добавлено в 0.0.1 azure.azcollection
URL-адрес авторизации AAD. Используйте при аутентификации с именем пользователя/паролем и собственной авторизацией ADFS.
agent_pool_profiles
строка
Подпункты профиля пула агентов.
availability_zones
список / элементы=строка
    Варианты:
  • 1
  • 2
  • 3
Availability zones для узлов. Должен использоваться тип AgentPoolType 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
    Варианты:
  • auto ←
  • 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 могут быть использованы для определения идентификатора подписки, если их несколько, в противном случае используется основная подписка.
При значении 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 client ID. Используется при аутентификации служебным принципалом.
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
строка / обязательно
Открытый ключ SSH, используемый для доступа к кластеру.
location
строка
Действительное расположение Azure. По умолчанию используется расположение группы ресурсов.
name
строка / обязательно
Имя управляемого экземпляра Azure Container Services (AKS).
network_profile
строка
Профиль конфигурации сети.
dns_service_ip
строка
По умолчанию:
"10.0.0.10"
IP-адрес, назначенный службе DNS Kubernetes.
Он должен находиться в диапазоне адресов служб Kubernetes, указанном в serviceCidr.
docker_bridge_cidr
строка
По умолчанию:
"172.17.0.1/16"
Диапазон IP-адресов в CIDR-нотации, назначенный сети Docker Bridge.
Он не должен перекрываться с IP-диапазонами подсетей или диапазоном адресов служб Kubernetes.
load_balancer_sku
строка
    Варианты:
  • standard
  • basic
Sku балансировщика нагрузки для управляемого кластера.
network_plugin
строка
    Варианты:
  • azure
  • kubenet ←
Плагин сети, используемый для построения сети Kubernetes.
Это свойство изменить нельзя.
С kubenet, узлы получают IP-адрес из подсети виртуальной сети Azure.
Функции AKS, такие как виртуальные узлы или политики сети, не поддерживаются с kubenet.
azure позволяет использовать Azure Container Networking Interface (CNI), каждый контейнер получает IP-адрес из подсети и может быть доступен напрямую.
network_policy
строка
    Варианты:
  • azure
  • calico
Политика сети, используемая для построения сети Kubernetes.
pod_cidr
строка
По умолчанию:
"10.244.0.0/16"
Диапазон IP-адресов в CIDR-нотации для назначения IP-адресов контейнеров при использовании network_plugin=kubenet.
Он должен быть большим адресным пространством, которое не используется в других частях вашей сетевой среды.
Этот диапазон адресов должен быть достаточно большим, чтобы вместить количество узлов, которое вы ожидаете масштабировать.
service_cidr
строка
По умолчанию:
"10.0.0.0/16"
Диапазон IP-адресов в CIDR-нотации для назначения IP-адресов кластера служб.
Он не должен перекрываться с IP-диапазонами подсетей.
Он должен быть диапазоном адресов *.10 для вашего диапазона IP-адресов служб.
node_resource_group
строка
Имя группы ресурсов, содержащей узлы пула агентов.
Невозможно обновить.
password
строка
Пароль пользователя Active Directory. Используется при аутентификации с пользователем Active Directory вместо управляемого принципа.
profile
строка
Профиль безопасности, найденный в файле ~/.azure/credentials.
resource_group
строка / обязательно
Имя группы ресурсов, где существует или будет создан управляемый экземпляр Azure Container Services (AKS).
secret
строка
Секретный ключ клиента Azure. Используется при аутентификации с управляемым принципом.
service_principal
строка
Дополнительные параметры для управляемого принципа.
client_id
строка / обязательно
Идентификатор управляемого принципа.
client_secret
строка
Секретный пароль, связанный с управляемым принципом.
state
строка
    Варианты:
  • absent
  • present ←
Утверждение состояния AKS. Используйте present для создания или обновления AKS и absent для его удаления.
subscription_id
строка
Ваш идентификатор подписки Azure.
tags
словарь
Словарь пар «строка:строка» для назначения тегов метаданных объекту.
Теги метаданных объекта будут обновлены с предоставленными значениями.
Чтобы удалить теги, установите опцию append_tags в значение false.
tenant
строка
Идентификатор Azure-тенанта. Используется при аутентификации с управляемым принципом.

Примечания

Примечание

  • Для аутентификации в 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 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
словарь
всегда
Текущее состояние 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–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_aks_module.html

Spec-Zone.ru

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