Модуль azure.azcollection.azure_rm_aks – Управление экземпляром управляемого Azure Container Service (AKS)
Примечание
Этот модуль входит в коллекцию azure.azcollection (версия 2.7.0).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install azure.azcollection. Для использования этого модуля потребуются дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в playbook, укажите: azure.azcollection.azure_rm_aks.
Новый в azure.azcollection 0.1.2
Описание
- Создание, обновление и удаление экземпляра управляемого Azure Container Service (AKS).
- Вы можете указать только
identityилиservice_principal, но не оба значения одновременно. Если ни то, ни другое не указано, значение будет установлено по умолчанию как identity->type->SystemAssigned.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- На хосте, на котором выполняется модуль, должна быть установлена коллекция azure.azcollection через galaxy
- Все пакеты Python, перечисленные в requirements.txt коллекции, должны быть установлены через pip на хосте, на котором выполняются модули из azure.azcollection
- Полные инструкции по установке можно найти по адресу https://galaxy.ansible.com/azure/azcollection
Параметры
Параметр | Комментарии |
|---|---|
aad_profile словарь | Профиль конфигурации Azure Active Directory. |
|
admin_group_object_ids список / элементы=строка |
ID объектов групп Azure AD, которые будут иметь роль администратора кластера. |
|
client_app_id строка |
ID приложения клиента Azure AD. |
|
enable_azure_rbac логическое |
Включить Azure RBAC для авторизации Kubernetes. Варианты:
|
|
managed логическое |
Включить управляемый Azure AD. Варианты:
|
|
server_app_id строка |
ID приложения сервера Azure AD. |
|
server_app_secret строка |
Секрет приложения сервера Azure AD. |
|
tenant_id строка |
ID клиента Azure AD для аутентификации. Если не указано, будет использоваться клиент подписки развертывания. |
ad_user строка | Имя пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с учетной записью службы. |
addon словарь | Профиль плагина управляемого кластера. Ключ может быть Значение должно быть словарем, содержащим логическую переменную |
|
http_application_routing псевдонимы: httpApplicationRouting словарь |
Решения HTTP application routing позволяет легко получить доступ к приложениям, развернутым в кластере. |
|
enabled логическое |
Включить ли решение. Варианты:
|
|
monitoring псевдонимы: omsagent словарь |
Обеспечивает видимость производительности, собирая метрики памяти и процессора с контроллеров, узлов и контейнеров, доступных в Kubernetes через API метрик. |
|
enabled логическое |
Включить ли решение. Варианты:
|
|
log_analytics_workspace_resource_id псевдонимы: logAnalyticsWorkspaceResourceID строка / обязательно |
Место хранения метрик контейнеров. |
|
virtual_node псевдонимы: aciConnector словарь |
Виртуальные узлы обеспечивают быстрое предоставление под, и вы платите только за время их выполнения. Вам не нужно ждать, пока Kubernetes cluster autoscaler развернет узлы VM для выполнения дополнительных под. |
|
enabled логическое |
Включить ли решение. Варианты:
|
|
subnet_resource_id псевдонимы: SubnetName строка / обязательно |
Подсеть, связанная с кластером. |
adfs_authority_url строка Добавлено в azure.azcollection 0.0.1 | URL авторизации Azure AD. Используйте при аутентификации с именем пользователя/паролем и собственной службой ADFS. |
agent_pool_profiles list / elements=dictionary | Подпараметры профиля пула агентов. |
|
availability_zones list / elements=integer |
Зоны доступности для узлов. Необходимо использовать AgentPoolType VirtualMachineScaleSets. Варианты:
|
|
count integer / required |
Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от |
|
dns_prefix string |
Префикс DNS, указанный при создании управляемого кластера. |
|
enable_auto_scaling boolean |
Включить автомасштабирование. Варианты:
|
|
max_count integer |
Максимальное количество узлов для автомасштабирования. Обязательно, если enable_auto_scaling=True. |
|
max_pods integer |
Максимальное количество подов, которые можно запланировать на узлах. |
|
min_count integer |
Минимальное количество узлов для автомасштабирования. Обязательно, если enable_auto_scaling=True. |
|
mode string |
AgentPoolMode представляет режим пула агентов. Возможные значения включают Для режима AgentPoolMode System требуется минимальный размер виртуальной машины не менее 2 vCPU и 4 ГБ памяти. Варианты:
|
|
name string / required |
Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. |
|
node_labels dictionary |
Метки узлов пула агентов, которые будут сохраняться на всех узлах в пуле агентов. |
|
orchestrator_version string |
Версия Kubernetes, работающая в пуле узлов. |
|
os_disk_size_gb integer |
Размер диска операционной системы. |
|
os_type string |
Тип операционной системы. Варианты:
|
|
ports list / elements=integer |
Список портов пула агентов. |
|
storage_profiles string |
Профиль хранилища указывает, какой тип хранилища используется. Варианты:
|
|
type string |
AgentPoolType представляет типы пула агентов. Возможные значения включают Варианты:
|
|
vm_size string / required |
Размер виртуальной машины каждого из виртуальных машин пула агентов (например, |
|
vnet_subnet_id string |
Указывает идентификатор подсети виртуальной сети. |
api_profile string added in azure.azcollection 0.0.1 | Выбирает профиль API для использования при взаимодействии с службами Azure. Значение по умолчанию По умолчанию: |
api_server_access_profile dictionary | Профиль конфигурации доступа к API. |
|
authorized_ip_ranges список / элементы=строка |
Разрешенные диапазоны IP-адресов для сервера API Kubernetes. Не может быть включено при использовании частного кластера. |
|
enable_private_cluster логическое |
Указывает, следует ли создавать кластер как частный или нет. Не может быть изменено для существующего кластера. Варианты:
|
append_tags логическое | Управление тем, является ли поле тегов стандартным или добавляется к существующим тегам. При стандартном формате любые теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта. Варианты:
|
auth_source строка добавлен в azure.azcollection 0.0.1 | Управляет источником учетных данных для аутентификации. Также может быть задан через переменную среды При значении При значении При значении При значении При значении
Варианты:
|
auto_upgrade_profile словарь | Профиль автоматического обновления для управляемого кластера. |
|
node_os_upgrade_channel строка |
Способ обновления операционной системы на ваших узлах. Варианты:
|
|
upgrade_channel строка |
Установка канала автоматического обновления кластера AKS. Варианты:
|
cert_validation_mode строка добавлен в azure.azcollection 0.0.1 | Управляет поведением проверки сертификатов для конечных точек Azure. По умолчанию все модули проверяют сертификат сервера, но при использовании HTTPS-прокси или работе с Azure Stack может потребоваться отключить это поведение, передав Варианты:
|
client_id строка | Идентификатор клиента Azure. Используется при аутентификации с помощью сервисного принципала или управляемой идентичности (msi). Также может быть задан через переменную среды |
cloud_environment строка добавлен в azure.azcollection 0.0.1 | Для облачных сред, отличных от общедоступного облака США, имя среды (определено Azure Python SDK, например, По умолчанию: |
disable_instance_discovery логическое добавлен в azure.azcollection 2.3.0 | Определяет, будет ли выполняться обнаружение экземпляра при попытке аутентификации. Установка в значение true полностью отключит как обнаружение экземпляра, так и проверку полномочий. Эта функция предназначена для использования в сценариях, где конечная точка метаданных недоступна, например, в частных облаках или Azure Stack. Процесс обнаружения экземпляра включает получение метаданных полномочий с https://login.microsoft.com/ для проверки полномочий. Установив это значение в **True**, проверка полномочий отключается. Поэтому крайне важно убедиться, что настроенный хост полномочий является корректным и надёжным. Задаётся через профиль файла учетных данных или переменную среды Варианты:
|
dns_prefix строка | Префикс DNS, указанный при создании управляемого кластера. |
enable_rbac логическое | Включить RBAC. Существующие кластеры AKS, не настроенные на RBAC, в настоящее время не могут быть обновлены для использования RBAC. Варианты:
|
identity словарь добавлен в azure.azcollection 2.4.0 | Идентичность сервера. |
|
type string |
Тип управляемой идентификации Выбор:
|
|
user_assigned_identities string |
Управляемая идентификация пользователя |
kubernetes_version string | Версия Kubernetes, указанная при создании управляемого кластера. |
linux_profile dictionary | Подварианты профиля Linux. Необязательно, указывать, если требуется доступ SSH к узлам кластера. |
|
admin_username string / обязательно |
Имя администратора для кластера. |
|
ssh_key string / обязательно |
Открытый ключ SSH, используемый для доступа к кластеру. |
location string | Допустимое расположение Azure. По умолчанию — расположение группы ресурсов. |
log_mode string | Родительский аргумент. |
log_path string | Родительский аргумент. |
name string / обязательно | Имя экземпляра управляемой службы Azure Container Services (AKS). |
network_profile dictionary | Профиль сетевой конфигурации. |
|
dns_service_ip string |
IP-адрес, назначенный для службы DNS Kubernetes. Он должен находиться в диапазоне адресов службы Kubernetes, указанном в serviceCidr. |
|
docker_bridge_cidr string |
(устарело) Docker bridge cidr. Диапазон IP-адресов в формате CIDR, назначенный сети Docker bridge. Он не должен перекрываться с никакими диапазонами IP-адресов подсетей или диапазоном адресов службы Kubernetes. Версия API выше 23.0.0, Модель ContainerServiceNetworkProfile больше не имеет параметра (docker_bridge_cidr). Этот параметр будет удален в следующей версии. |
|
load_balancer_sku string |
Наименование SKU балансировщика нагрузки для управляемого кластера. Выбор:
|
|
network_plugin string |
Сетевой плагин, используемый для создания сети Kubernetes. Это свойство изменить нельзя. При использовании Функции AKS, такие как виртуальные узлы или сетевые политики, не поддерживаются с
Выбор:
|
|
network_plugin_mode string |
Режим сетевого плагина, используемого для создания сети Kubernetes. Выбор:
|
|
network_policy string |
Сетевая политика, используемая для создания сети Kubernetes. Выбор:
|
|
outbound_type string |
Как будет настраиваться исходящий трафик для кластера. Выбор:
|
|
pod_cidr string |
Диапазон IP-адресов в формате CIDR, из которого назначаются IP-адреса контейнеров, когда используется network_plugin=kubenet. Он должен быть достаточно большим диапазоном, не используемым в вашей сетевой среде. Этот диапазон должен быть достаточно большим, чтобы вместить ожидаемое количество узлов, масштабируемых до максимума. |
|
service_cidr string |
Диапазон IP-адресов в формате CIDR, из которого назначаются IP-адреса кластера службы. Он не должен перекрываться с никакими диапазонами IP-адресов подсетей. Он должен быть диапазоном *.10 вашего диапазона адресов службы. |
node_resource_group string | Название группы ресурсов, содержащей узлы пула агентов. Невозможно обновить. |
пароль строка | Пароль пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory вместо сервисного принципала. |
pod_identity_profile словарь | Настройка идентификаторов под в управляемом кластере Kubernetes. |
|
allow_network_plugin_kubenet булево |
Использовать ли плагин сети Kubenet с идентификатором под AAD. Выбор:
|
|
enabled булево |
Включен ли модуль дополнения под идентификатора. Выбор:
|
|
user_assigned_identities список / элементы=словарь |
Идентификаторы под для использования в кластере. |
|
binding_selector строка |
Селектор привязки для использования с ресурсом AzureIdentityBinding. |
|
identity словарь / обязательно |
Подробности назначенного пользователем идентификатора. |
|
client_id строка |
Идентификатор клиента назначенного пользователем идентификатора. |
|
object_id строка |
Идентификатор объекта назначенного пользователем идентификатора. |
|
resource_id строка |
Идентификатор ресурса назначенного пользователем идентификатора. |
|
name строка / обязательно |
Имя идентификатора под. |
|
namespace строка / обязательно |
Пространство имен идентификатора под. |
профиль строка | Профиль безопасности, найденный в файле ~/.azure/credentials. |
группа_ресурсов строка / обязательно | Имя группы ресурсов, где существует или будет создан управляемый Azure Container Services (AKS). |
секрет строка | Секрет клиента Azure. Используйте при аутентификации с сервисным принципалом. |
сервисный_принципал словарь | Дополнительные параметры сервисного принципала. |
|
client_id строка / обязательно |
Идентификатор сервисного принципала. |
|
client_secret строка |
Секретный пароль, связанный с сервисным принципалом. |
состояние строка | Установите состояние AKS. Используйте Выбор:
|
идентификатор_подписки строка | Ваш идентификатор подписки Azure. |
метки словарь | Словарь пар строка:строка, назначаемых в качестве метаданных объекту. Метаданные метки объекта будут обновлены с предоставленными значениями. Чтобы удалить метки, установите параметр append_tags в false. В настоящее время в зонах Azure DNS и службах Traffic Manager также не разрешается использование пробелов в метке. Azure Front Door не поддерживает использование Azure Automation и Azure CDN поддерживают только 15 меток на ресурсах. |
арендатор строка | Идентификатор аренды Azure. Используйте при аутентификации с сервисным принципалом. |
отпечаток строка добавлен в azure.azcollection 1.14.0 | Отпечаток частного ключа, указанного в x509_certificate_path. Используйте при аутентификации с сервисным принципалом. Требуется, если определён x509_certificate_path. |
x509_certificate_path path added in azure.azcollection 1.14.0 | Путь к сертификату X509, используемому для создания службы основных данных в формате PEM. Сертификат должен быть добавлен к закрытому ключу. Используйте при аутентификации с помощью службы основных данных. |
Примечания
Примечание
- Для аутентификации с 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 With A System Node Pool & A User Node Pool
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_B2s
enable_auto_scaling: true
type: VirtualMachineScaleSets
mode: System
max_count: 3
min_count: 1
enable_rbac: true
- name: user
count: 1
vm_size: Standard_D2_v2
enable_auto_scaling: true
type: VirtualMachineScaleSets
mode: User
max_count: 3
min_count: 1
enable_rbac: true
- 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
mode: System
vm_size: Standard_B2s
tags:
Environment: Production
- name: Use minimal parameters and system-assigned identity
azure_rm_aks:
name: myMinimalCluster
location: eastus
resource_group: myExistingResourceGroup
dns_prefix: akstest
agent_pool_profiles:
- name: default
count: 1
vm_size: Standard_D2_v2
- name: Create AKS with userDefinedRouting "Link:https://docs.microsoft.com/en-us/azure/aks/limit-egress-traffic#add-a-dnat-rule-to-azure-firewall"
azure_rm_aks:
name: "minimal{{ rpfx }}"
location: eastus
resource_group: "{{ resource_group }}"
kubernetes_version: "{{ versions.azure_aks_versions[0] }}"
dns_prefix: "aks{{ rpfx }}"
service_principal:
client_id: "{{ client_id }}"
client_secret: "{{ client_secret }}"
network_profile:
network_plugin: azure
load_balancer_sku: standard
outbound_type: userDefinedRouting
service_cidr: "10.41.0.0/16"
dns_service_ip: "10.41.0.10"
docker_bridge_cidr: "172.17.0.1/16"
api_server_access_profile:
authorized_ip_ranges:
- "20.106.246.252/32"
enable_private_cluster: false
agent_pool_profiles:
- name: default
count: 1
vm_size: Standard_B2s
mode: System
vnet_subnet_id: "{{ output.subnets[0].id }}"
type: VirtualMachineScaleSets
enable_auto_scaling: false
- name: Create an AKS instance wit pod_identity_profile settings
azure_rm_aks:
name: "aks{{ rpfx }}"
resource_group: "{{ resource_group }}"
location: eastus
dns_prefix: "aks{{ rpfx }}"
kubernetes_version: "{{ versions.azure_aks_versions[0] }}"
service_principal:
client_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
client_secret: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
linux_profile:
admin_username: azureuser
ssh_key: ssh-rsa AAAAB3Ip6***************
agent_pool_profiles:
- name: default
count: 1
vm_size: Standard_B2s
type: VirtualMachineScaleSets
mode: System
node_labels: {"release":"stable"}
max_pods: 42
availability_zones:
- 1
- 2
node_resource_group: "node{{ noderpfx }}"
enable_rbac: true
network_profile:
load_balancer_sku: standard
pod_identity_profile:
enabled: false
allow_network_plugin_kubenet: false
user_assigned_identities:
- name: fredtest
namespace: fredtest
binding_selector: test
identity:
client_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
object_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- name: Remove a managed Azure Container Services (AKS) instance
azure_rm_aks:
name: myAKS
resource_group: myResourceGroup
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для данного модуля:
Ключ | Описание |
|---|---|
state словарь | Текущее состояние службы Azure Container Service (AKS). Возвращается: всегда Пример: |
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/azure/azcollection/azure_rm_aks_module.html