Spec-Zone.ru › Ansible

Модуль azure.azcollection.azure_rm_aks — управление экземпляром управляемой службы контейнеров Azure (AKS)

Примечание

Этот модуль входит в коллекцию azure.azcollection (версия 3.18.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install azure.azcollection. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: azure.azcollection.azure_rm_aks.

Добавлено в azure.azcollection 0.1.2

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

Краткое описание

  • Создание, обновление и удаление экземпляра управляемой службы контейнеров Azure (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

dictionary

Профиль конфигурации Azure Active Directory.

admin_group_object_ids

list / elements=string

Идентификаторы объектов групп AAD, которым будет назначена роль администратора кластера.

client_app_id

string

Идентификатор клиентского приложения AAD.

enable_azure_rbac

boolean

Следует ли включить Azure RBAC для авторизации Kubernetes.

Варианты:

  • false ← (по умолчанию)
  • true

managed

boolean

Следует ли включить управляемую AAD.

Варианты:

  • false ← (по умолчанию)
  • true

server_app_id

string

Идентификатор серверного приложения AAD.

server_app_secret

string

Секрет серверного приложения AAD.

tenant_id

string

Идентификатор арендатора AAD, используемый для аутентификации.

Если параметр не указан, будет использоваться арендатор подписки, в которой выполняется развертывание.

ad_user

string

Имя пользователя Active Directory. Используется при аутентификации от имени пользователя Active Directory, а не субъекта-службы.

addon

dictionary

Профиль дополнений управляемого кластера.

Ключом может быть http_application_routing, monitoring, virtual_node или azure_keyvault_secrets_provider.

Значение должно быть словарем, содержащим логическую переменную enabled.

azure_keyvault_secrets_provider

псевдонимы: azureKeyvaultSecretsProvider

dictionary

добавлено в azure.azcollection 3.7.0

Следует ли включить поставщик Azure Key Vault в кластере AKS.

enabled

boolean

Включить или отключить поставщик Azure Key Vault в кластере AKS.

Варианты:

  • false
  • true ← (по умолчанию)

http_application_routing

псевдонимы: httpApplicationRouting

dictionary

Решение маршрутизации HTTP-трафика к приложениям упрощает доступ к приложениям, развернутым в кластере.

enabled

boolean

Следует ли включить это решение.

Варианты:

  • false
  • true ← (по умолчанию)

monitoring

псевдонимы: omsagent

dictionary

Обеспечивает наглядность производительности, собирая метрики памяти и процессора с контроллеров, узлов и контейнеров, доступные в Kubernetes через API метрик.

enabled

boolean

Следует ли включить это решение.

Варианты:

  • false
  • true ← (по умолчанию)

log_analytics_workspace_resource_id

псевдонимы: logAnalyticsWorkspaceResourceID

string / обязательный

Расположение для хранения метрик контейнеров.

virtual_node

псевдонимы: aciConnector

dictionary

Виртуальные узлы обеспечивают быстрое создание подов, при этом оплата взимается только за секунды их работы.

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

enabled

boolean

Следует ли включить это решение.

Варианты:

  • false
  • true ← (по умолчанию)

subnet_resource_id

псевдонимы: SubnetName

string / обязательный

Подсеть, связанная с кластером.

adfs_authority_url

string

добавлено в azure.azcollection 0.0.1

URL-адрес центра Azure AD. Используется при аутентификации с помощью имени пользователя и пароля, если у вас есть собственный центр ADFS.

agent_pool_profiles

list / elements=dictionary

Вложенные параметры профиля пула агентов.

availability_zones

list / elements=integer

Зоны доступности для узлов. Необходимо использовать тип пула агентов VirtualMachineScaleSets.

Варианты:

  • 1
  • 2
  • 3

count

integer / обязательный

Количество агентов (виртуальных машин) для размещения контейнеров Docker.

Допустимые значения: от 1 до 100 включительно.

dns_prefix

string

Префикс DNS, указанный при создании управляемого кластера.

enable_auto_scaling

boolean

Включает автомасштабирование.

Варианты:

  • false
  • true

max_count

integer

Максимальное количество узлов при автомасштабировании.

Обязательно, если enable_auto_scaling=True.

max_pods

integer

Максимальное количество подов, которые можно запланировать на узлах.

min_count

integer

Минимальное количество узлов при автомасштабировании.

Обязательно, если enable_auto_scaling=True.

mode

string

AgentPoolMode задает режим пула агентов.

Возможные значения: System и User.

Для режима System AgentPoolMode требуется SKU виртуальной машины как минимум с 2 виртуальными ЦП и 4 ГБ памяти.

Варианты:

  • "System"
  • "User"

name

string / обязательный

Уникальное имя профиля пула агентов в рамках подписки и группы ресурсов.

node_labels

dictionary

Метки узлов пула агентов, которые сохраняются для всех узлов в пуле.

orchestrator_version

string

Версия Kubernetes, работающая в пуле узлов.

os_disk_size_gb

integer

Размер диска ОС.

os_sku

string

SKU операционной системы.

Варианты:

  • "Ubuntu"
  • "AzureLinux"
  • "Windows2019"
  • "Windows2022"

os_type

string

Тип операционной системы.

Варианты:

  • "Linux"
  • "Windows"
  • "linux"
  • "windows"

ports

list / elements=integer

Список портов пула агентов.

scale_set_eviction_policy

string

Политика удаления для пулов агентов на виртуальных машинах Spot.

Применяется только при значении scale_set_priority=Spot.

Delete удаляет виртуальную машину и ее диск при вытеснении.

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

Это свойство нельзя изменить после создания пула агентов.

Варианты:

  • "Delete"
  • "Deallocate"

scale_set_priority

string

Приоритет масштабируемого набора виртуальных машин для пула агентов.

Regular использует стандартные виртуальные машины по запросу.

Spot использует виртуальные машины Azure Spot, которые могут быть вытеснены в любой момент.

Это свойство нельзя изменить после создания пула агентов.

Варианты:

  • "Regular"
  • "Spot"

security_profile

dictionary

Параметры безопасности пула агентов.

enable_secure_boot

boolean

Включает или отключает безопасную загрузку.

Варианты:

  • false ← (по умолчанию)
  • true

enable_vtpm

boolean

Включает или отключает vTPM.

Варианты:

  • false ← (по умолчанию)
  • true

spot_max_price

float

Максимальная цена виртуальных машин Spot в пуле агентов (в долларах США за час).

Укажите -1, чтобы использовать цену виртуальной машины по запросу.

Применяется только при значении scale_set_priority=Spot.

Это свойство нельзя изменить после создания пула агентов.

storage_profiles

string

Профиль хранилища указывает используемый тип хранилища.

Варианты:

  • "StorageAccount"
  • "ManagedDisks"

tags

dictionary

Теги, сохраняемые в масштабируемом наборе виртуальных машин пула агентов.

type

string

AgentPoolType задает тип пула агентов.

Возможные значения: VirtualMachineScaleSets и AvailabilitySet.

Варианты:

  • "VirtualMachineScaleSets"
  • "AvailabilitySet"

vm_size

string / обязательный

Размер виртуальных машин в пуле агентов (например, Standard_F1 / Standard_D2v2).

vnet_subnet_id

string

Указывает идентификатор подсети виртуальной сети VNet.

api_profile

string

добавлено в azure.azcollection 0.0.1

Выбирает профиль API для взаимодействия со службами Azure. Значение по умолчанию latest подходит для общедоступных облаков; в будущем другие значения позволят использовать Azure Stack.

По умолчанию: "latest"

api_server_access_profile

dictionary

Профиль конфигурации доступа к API.

authorized_ip_ranges

list / elements=string

Разрешенные диапазоны IP-адресов для API-сервера Kubernetes.

Нельзя включить при использовании частного кластера.

enable_private_cluster

boolean

Следует ли создать кластер как частный.

Для существующего кластера изменить это значение нельзя.

Варианты:

  • false
  • true

append_tags

boolean

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

Если поле является каноническим, все теги, отсутствующие в параметре tags, будут удалены из метаданных объекта.

Варианты:

  • false
  • true ← (по умолчанию)

auth_source

string

добавлено в azure.azcollection 0.0.1

Определяет источник учетных данных для аутентификации.

Также можно задать с помощью переменной окружения 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, на хост-компьютере должен быть включен модуль расширения MSI для ресурса Azure. Для определения идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам, можно использовать subscription_id или переменную окружения AZURE_SUBSCRIPTION_ID; в противном случае выбирается первая подписка.

Параметр msi добавлен в Ansible 2.6.

Варианты:

  • "auto" ← (по умолчанию)
  • "cli"
  • "credential_file"
  • "env"
  • "msi"

auto_upgrade_profile

dictionary

Профиль автоматического обновления управляемого кластера.

node_os_upgrade_channel

string

Способ обновления ОС на узлах.

Варианты:

  • "None"
  • "Unmanaged"
  • "SecurityPatch"
  • "NodeImage" ← (по умолчанию)

upgrade_channel

string

Настройка канала автоматического обновления кластера AKS.

Варианты:

  • "rapid"
  • "stable"
  • "patch"
  • "node-image" ← (по умолчанию)
  • "none"

cert_validation_mode

string

добавлено в azure.azcollection 0.0.1

Управляет проверкой сертификатов для конечных точек Azure. По умолчанию все модули проверяют сертификат сервера, однако при использовании HTTPS-прокси или Azure Stack может потребоваться отключить эту проверку, передав ignore. Значение также можно задать в профиле файла учетных данных или с помощью переменной окружения AZURE_CERT_VALIDATION.

Варианты:

  • "ignore"
  • "validate"

client_id

string

Идентификатор клиента Azure. Используйте при аутентификации с помощью субъекта-службы или управляемого удостоверения (msi).

Также можно задать с помощью переменной окружения AZURE_CLIENT_ID.

cloud_environment

string

добавлено в azure.azcollection 0.0.1

Для облачных сред, отличных от общедоступного облака США, укажите имя среды (как определено в Azure Python SDK, например AzureChinaCloud, AzureUSGovernment) или URL-адрес конечной точки обнаружения метаданных (обязателен для Azure Stack). Значение также можно задать в профиле файла учетных данных или с помощью переменной окружения AZURE_CLOUD_ENVIRONMENT.

По умолчанию: "AzureCloud"

disable_instance_discovery

boolean

добавлено в azure.azcollection 2.3.0

Определяет, выполняется ли обнаружение экземпляра при попытке аутентификации. Если установить значение true, обнаружение экземпляра и проверка центра авторизации будут полностью отключены. Эта функция предназначена для сценариев, в которых невозможно связаться с конечной точкой метаданных, например в частных облаках или Azure Stack. Обнаружение экземпляра включает получение метаданных центра авторизации с https://login.microsoft.com/ для проверки центра авторизации. Установка значения **True** отключает проверку центра авторизации. Поэтому крайне важно убедиться, что настроенный узел центра авторизации является действительным и заслуживающим доверия.

Задается в профиле файла учетных данных или с помощью переменной окружения AZURE_DISABLE_INSTANCE_DISCOVERY.

Варианты:

  • false ← (по умолчанию)
  • true

disable_local_accounts

boolean

Если установлено значение true, получение статических учетных данных для этого кластера будет отключено.

Используйте этот параметр только для управляемых кластеров с включенной AAD.

Варианты:

  • false
  • true

dns_prefix

string

Префикс DNS, указанный при создании управляемого кластера.

enable_rbac

boolean

Включить RBAC.

В настоящее время существующие кластеры AKS без RBAC нельзя обновить для использования RBAC.

Варианты:

  • false ← (по умолчанию)
  • true

identity

dictionary

добавлено в azure.azcollection 2.4.0

Удостоверение сервера.

type

string

Тип управляемого удостоверения

Варианты:

  • "UserAssigned"
  • "SystemAssigned" ← (по умолчанию)

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 (AKS).

network_profile

dictionary

Профиль конфигурации сети.

dns_service_ip

string

IP-адрес, назначенный службе DNS Kubernetes.

Он должен входить в диапазон адресов служб Kubernetes, указанный в serviceCidr.

load_balancer_sku

string

SKU балансировщика нагрузки для управляемого кластера.

Варианты:

  • "standard"
  • "basic"

network_plugin

string

Сетевой подключаемый модуль, используемый для построения сети Kubernetes.

Это свойство нельзя изменить.

При использовании kubenet узлы получают IP-адреса из подсети виртуальной сети Azure.

Такие функции AKS, как виртуальные узлы или сетевые политики, не поддерживаются при использовании kubenet.

azure включает Azure Container Networking Interface (CNI): каждый под получает IP-адрес из подсети, и к нему можно обращаться напрямую.

Используйте BYO CNI для пользовательских сетевых решений.

Варианты:

  • "azure"
  • "kubenet"
  • "none"

network_plugin_mode

string

Режим сетевого подключаемого модуля, используемый для построения сети Kubernetes.

Варианты:

  • "Overlay"

network_policy

string

Сетевая политика, используемая для построения сети Kubernetes.

Варианты:

  • "azure"
  • "calico"

outbound_type

string

Способ настройки исходящего трафика кластера.

Варианты:

  • "loadBalancer" ← (по умолчанию)
  • "userDefinedRouting"
  • "managedNATGateway"
  • "userAssignedNATGateway"

pod_cidr

string

Диапазон IP-адресов в нотации CIDR, из которого назначаются IP-адреса подам при использовании network_plugin=kubenet.

Это должно быть большое адресное пространство, которое не используется в других частях вашей сетевой среды.

Этот диапазон адресов должен быть достаточно большим, чтобы вместить ожидаемое количество узлов при масштабировании.

service_cidr

string

Диапазон IP-адресов в нотации CIDR, из которого назначаются IP-адреса служб кластера.

Он не должен пересекаться ни с одним из диапазонов IP-адресов подсетей.

В качестве диапазона IP-адресов служб следует использовать адрес *.10.

node_resource_group

string

Имя группы ресурсов, содержащей узлы пула агентов.

Обновление невозможно.

oidc_token

string

добавлено в azure.azcollection 3.17.0

Токен OpenID Connect (OIDC) (JWT), напрямую используемый для аутентификации с помощью удостоверения рабочей нагрузки.

Этот токен обменивается с Azure AD с использованием федеративного удостоверения OIDC.

Полезен в системах CI (например, GitHub Actions, Azure DevOps), где платформа напрямую предоставляет токен OIDC.

Также можно задать с помощью переменной окружения AZURE_FEDERATED_TOKEN.

oidc_token_file_path

path

добавлено в azure.azcollection 3.17.0

Путь к файлу, содержащему токен OpenID Connect (OIDC) (JWT), используемый для аутентификации с помощью удостоверения рабочей нагрузки.

Файл должен содержать только необработанный токен.

Этот способ обычно используется на платформах, которые сохраняют токены OIDC в виде файлов.

Также можно задать с помощью переменной окружения AZURE_FEDERATED_TOKEN_FILE.

password

string

Пароль пользователя Active Directory. Используйте при аутентификации от имени пользователя Active Directory, а не субъекта-службы.

pod_identity_profile

dictionary

Настройка удостоверений подов в управляемом кластере Kubernetes.

allow_network_plugin_kubenet

boolean

Используется ли сетевой подключаемый модуль Kubenet с AAD Pod Identity.

Варианты:

  • false
  • true

enabled

boolean

Включено ли дополнение удостоверений подов.

Варианты:

  • false
  • true

user_assigned_identities

list / элементы=dictionary

Удостоверения подов, используемые в кластере.

binding_selector

string

Селектор привязки для ресурса AzureIdentityBinding.

identity

dictionary / обязательно

Сведения об удостоверении, назначенном пользователем.

client_id

string

Идентификатор клиента удостоверения, назначенного пользователем.

object_id

string

Идентификатор объекта удостоверения, назначенного пользователем.

resource_id

string

Идентификатор ресурса удостоверения, назначенного пользователем.

name

string / обязательно

Имя удостоверения пода.

namespace

string / обязательно

Пространство имен удостоверения пода.

profile

string

Профиль безопасности из файла ~/.azure/credentials.

resource_group

string / обязательно

Имя группы ресурсов, в которой находится или будет создан экземпляр управляемых служб контейнеров Azure (AKS).

secret

string

Секрет клиента Azure. Используйте при аутентификации с помощью субъекта-службы.

security_profile

dictionary

Профиль безопасности кластера службы контейнеров.

azure_key_vault_kms

dictionary

Azure Key Vault.

См. настройки профиля безопасности: https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/.

enabled

boolean

Включить ли службу управления ключами Azure Key Vault. Значение по умолчанию: false.

Варианты:

  • false ← (по умолчанию)
  • true

key_id

string

Идентификатор ключа Azure Key Vault.

key_vault_network_access

string

Сетевой доступ к хранилищу ключей.

Варианты:

  • "Public" ← (по умолчанию)
  • "Private"

key_vault_resource_id

string

Идентификатор ресурса хранилища ключей.

Если key_vault_network_access=Private, это поле обязательно и должно содержать допустимый идентификатор ресурса.

Если key_vault_network_access=Public, оставьте поле пустым.

defender

dictionary

Настройки Microsoft Defender для профиля безопасности.

log_analytics_workspace_resource_id

string

Идентификатор ресурса рабочей области Log Analytics, связанной с Microsoft Defender.

Если Microsoft Defender включен, это поле обязательно и должно содержать допустимый идентификатор ресурса рабочей области.

Если Microsoft Defender отключен, оставьте поле пустым.

security_monitoring

dictionary

Настройки обнаружения угроз Microsoft Defender for Cloud для профиля безопасности.

enabled

boolean

Включить ли обнаружение угроз Defender.

Варианты:

  • false
  • true

image_cleaner

dictionary

Настройки Image Cleaner для профиля безопасности.

enabled

boolean

Включить ли Image Cleaner в кластере AKS.

Варианты:

  • false
  • true

interval_hours

integer

Интервал сканирования Image Cleaner в часах.

workload_identity

dictionary

Настройки удостоверения рабочей нагрузки для профиля безопасности.

Удостоверение рабочей нагрузки позволяет приложениям Kubernetes безопасно обращаться к облачным ресурсам Azure с помощью Azure AD.

Подробные сведения см. на странице https://aka.ms/aks/wi.

enabled

boolean

Включить ли удостоверение рабочей нагрузки.

Варианты:

  • false
  • true

service_principal

dictionary

Дополнительные параметры субъекта-службы.

client_id

string / обязательный

Идентификатор субъекта-службы.

client_secret

string

Секретный пароль, связанный с субъектом-службой.

state

string

Задайте требуемое состояние AKS. Используйте present для создания или обновления AKS и absent для его удаления.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

subscription_id

string

Идентификатор вашей подписки Azure.

tags

dictionary

Словарь пар «строка:строка», назначаемых объекту в качестве метаданных.

Теги метаданных объекта будут обновлены с использованием всех предоставленных значений.

Чтобы удалить теги, установите для параметра append_tags значение false.

В настоящее время зоны Azure DNS и службы Traffic Manager также не допускают использование пробелов в тегах.

Azure Front Door не поддерживает использование

Azure Automation и Azure CDN поддерживают не более 15 тегов для ресурсов.

tenant

string

Идентификатор клиента Azure. Используйте при аутентификации с помощью субъекта-службы.

thumbprint

string

добавлено в azure.azcollection 1.14.0

Отпечаток закрытого ключа, указанного в x509_certificate_path.

Используйте при аутентификации с помощью субъекта-службы.

Обязателен, если задан x509_certificate_path.

windows_profile

dictionary

Дополнительные параметры профиля Windows.

admin_password

string / обязательный

Пароль администратора кластера.

admin_username

string / обязательный

Имя пользователя администратора кластера.

gmsa_profile

dictionary

Управляемые групповые учетные записи служб Windows (gMSA).

dns_server

string

Указывает DNS-сервер для Windows gMSA. Необязательный параметр, если DNS-сервер настроен в виртуальной сети (vnet), используемой для создания управляемого кластера.

enabled

boolean

Включить ли gMSA в кластере.

Варианты:

  • false ← (по умолчанию)
  • true

root_domain_name

string

Указывает имя корневого домена для Windows gMSA. Необязательный параметр, если DNS-сервер настроен в виртуальной сети (vnet), используемой для создания управляемого кластера.

x509_certificate_path

path

добавлено в azure.azcollection 1.14.0

Путь к сертификату X509 в формате PEM, используемому для создания субъекта-службы.

Сертификат необходимо добавить после закрытого ключа.

Используйте при аутентификации с помощью субъекта-службы.

Примечания

Примечание

  • Для аутентификации в Azure можно передать параметры, задать переменные среды, использовать профиль из ~/.azure/credentials или войти в систему перед запуском задач или плейбука с помощью az login.
  • Также возможна аутентификация с помощью субъекта-службы или пользователя Active Directory.
  • Для аутентификации через OIDC передайте client_id, tenant и oidc_token или oidc_token_file_path либо задайте переменные среды AZURE_CLIENT_ID, AZURE_TENANT и AZURE_FEDERATED_TOKEN или AZURE_FEDERATED_TOKEN_FILE.
  • Для аутентификации через субъект-службу передайте 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
        tags:
          key1: value1
      - 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"
    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: Create a kubernet service with I(os_type=Windows)
  azure_rm_aks:
    name: myaks02
    location: eastus
    resource_group: "{{ resource_group }}"
    kubernetes_version: "{{ versions }}"
    dns_prefix: "aks_dns"
    enable_rbac: true
    windows_profile:
      admin_username: azureuser
      admin_password: Password@0329
      gmsa_profile:
        enabled: true
    aad_profile:
      managed: true
    agent_pool_profiles:
      - name: default
        count: 1
        vm_size: Standard_D8ds_v5
        mode: System
        os_type: Linux
        os_sku: Ubuntu
      - name: def
        count: 1
        vm_size: Standard_D2as_v4
        mode: User
        os_type: Windows
        os_sku: Windows2022
    api_server_access_profile:
      authorized_ip_ranges:
        - "192.0.2.0"
        - "198.51.100.0"
        - "203.0.113.0"
      enable_private_cluster: false
    network_profile:
      load_balancer_sku: standard
      network_plugin: azure
      outbound_type: loadBalancer

- name: Create an AKS instance with a Spot user node pool
  azure_rm_aks:
    name: myAKSWithSpot
    resource_group: myResourceGroup
    location: eastus
    dns_prefix: aksspot
    kubernetes_version: 1.28.5
    linux_profile:
      admin_username: azureuser
      ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...
    service_principal:
      client_id: "cf72ca99-f6b9-4004-b0e0-bee10c521948"
      client_secret: "Password1234!"
    enable_rbac: true
    agent_pool_profiles:
      - name: systempool
        count: 1
        vm_size: Standard_B2s
        mode: System
      - name: spotpool
        count: 2
        vm_size: Standard_D2_v2
        mode: User
        scale_set_priority: Spot
        scale_set_eviction_policy: Deallocate
        spot_max_price: -1
        enable_auto_scaling: true
        min_count: 1
        max_count: 5

- 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).

Возвращается: всегда

Пример: {"addon": {"azure_keyvault_secrets_provider": {"enabled": true}, "http_application_routing": {"enabled": false}, "monitoring": null, "virtual_node": null}, "agent_pool_profiles": [{"count": 1, "dns_prefix": null, "moode": "System", "name": "default", "node_labels": {"environment": "dev", "release": "stable"}, "os_disk_size_gb": null, "os_sku": "Ubuntu", "os_type": "Linux", "ports": null, "security_profile": {"enable_secure_boot": true, "enable_vtpm": false}, "storage_profile": "ManagedDisks", "vm_size": "Standard_B2s", "vnet_subnet_id": null}], "auto_upgrade_profile": {"node_os_upgrade_channel": "NodeImage", "upgrade_channel": "patch"}, "changed": false, "disable_local_accounts": true, "dns_prefix": "aks9860bdcd89", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/aks9860bdc", "identity": {"type": "UserAssigned", "user_assigned_identities": {}}, "kube_config": ["......"], "kubernetes_version": "1.14.6", "linux_profile": {"admin_username": "azureuser", "ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADA....."}, "location": "eastus", "name": "aks9860bdc", "pod_identity_profile": {"allow_network_plugin_kubenet": false, "user_assigned_identities": [{"binding_selector": "test", "identity": {"client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "object_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\""}, "name": "fredtest", "namespace": "fredtest", "provisioning_state": "Updating"}]}, "provisioning_state": "Succeeded", "security_profile": {"defender": {"log_analytics_workspace_resource_id": "/subscriptions/xxx/resourceGroups/rg/providers/Microsoft.OperationalInsights/workspaces/fred01", "security_monitoring": {"enabled": true}}, "image_cleaner": {"enabled": false, "interval_hours": 38}}, "service_principal_profile": {"client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, "tags": {}, "type": "Microsoft.ContainerService/ManagedClusters", "windows_profile": "None"}

Авторы

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

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

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

Spec-Zone.ru

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