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