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 список / элементы=строка |
| 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 строка |
| 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 |
| Управление источником учетных данных для аутентификации. Также может быть задан через переменную окружения 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 |
| Управление проверкой сертификатов для 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 |
| Набор функций балансировщика нагрузки для управляемого кластера. | ||
| network_plugin string |
| Сетевой плагин, используемый для построения сети Kubernetes. Это свойство изменить нельзя. С kubenet, узлам присваивается IP-адрес из подсети виртуальной сети Azure.Функции AKS, такие как виртуальные узлы или сетевые политики, не поддерживаются с kubenet. azure позволяет использовать Azure Container Networking Interface (CNI), каждый контейнер получает IP-адрес из подсети и может быть доступен напрямую. | ||
| network_policy string |
| Сетевая политика, используемая для построения сети 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 |
| Утвердить состояние 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