Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ AKS Automatic
Служба Azure Kubernetes (AKS) Автоматически предоставляет самый простой управляемый интерфейс Kubernetes для разработчиков, инженеров DevOps и инженеров платформы. Идеально подходит для современных приложений и приложений с ИИ, AKS Automatic автоматизирует настройку и управление кластерами AKS и внедряет конфигурации в соответствии с лучшими практиками. Пользователи любого уровня навыков могут воспользоваться преимуществами безопасности, производительности и зависимости AKS Automatic для своих приложений. AKS Automatic также включает SLA готовности pod, которое гарантирует, что 99.9% операций по готовности pod завершаются в течение 5 минут, обеспечивая надежную и самовосстанавливающуюся инфраструктуру для ваших приложений.
Из этой краткой инструкции вы узнаете:
- Развертывание автоматического кластера AKS.
- Запустите пример мультиконтейнерного приложения с группой микрослужб и веб-интерфейсов с имитацией сценария розничной торговли.
Перед тем как начать
- В этом кратком руководстве предполагается, что у вас есть базовое понимание понятий Kubernetes. Дополнительные сведения см. в статье Ключевые концепции Kubernetes для службы Azure Kubernetes (AKS).
- AKS Automatic включит политику Azure в вашем кластере AKS, но необходимо предварительно зарегистрировать
Microsoft.PolicyInsightsпоставщика ресурсов в вашей подписке для более плавного взаимодействия. Дополнительные сведения см. в разделе поставщики и типы ресурсов Azure.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, попробуйте запустить Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы завершить процесс проверки подлинности, выполните действия, отображаемые в терминале. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Для этой статьи требуется версия 2.77.0 или более поздняя версия Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена там.
- Если у вас несколько подписок Azure, выберите соответствующий идентификатор подписки, в котором должны выставляться счета за ресурсы с помощью
az account setкоманды.
- Чтобы развернуть Bicep-файл, необходимо иметь права на запись на создаваемые ресурсы и доступ ко всем операциям с ресурсами типа
Microsoft.Resources/deployments. Например, для создания виртуальной машины требуютсяMicrosoft.Compute/virtualMachines/writeиMicrosoft.Resources/deployments/*разрешения. Список ролей и разрешений см. в статье Встроенные роли Azure.
Ограничения
- Для системных узлов автоматического кластера AKS требуется развертывание в регионах Azure, поддерживающих по крайней мере три зоны доступности, временный диск ОС и ОС Linux Azure.
- Вы можете создавать только автоматические кластеры AKS в регионах, где общедоступна интеграция виртуальных сетей СЕРВЕРА API .
Это важно
AkS Automatic пытается динамически выбрать размер виртуальной машины для system пула узлов на основе емкости, доступной в подписке. Убедитесь, что подписка имеет квоту на 16 виртуальных ЦП любого из следующих размеров в регионе, в который развертывается кластер: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6 или Standard_D4alds_v5. Вы можете просматривать квоты для определенных семейств виртуальных машин и отправлять запросы на увеличение квоты на портале Azure.
Если у вас есть дополнительные вопросы, ознакомьтесь с документацией по устранению неполадок.
Создание группы ресурсов
Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure.
В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
Создайте группу ресурсов с помощью команды az group create.
az group create --name myResourceGroup --location eastus
Следующий пример выходных данных напоминает успешное создание группы ресурсов:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Создание автоматического кластера AKS
Чтобы создать автоматический кластер AKS, используйте az aks create команду. В следующем примере создается кластер с именем myAKSAutomaticCluster с включенной интеграцией Managed Prometheus и Container Insights.
az aks create \
--resource-group myResourceGroup \
--name myAKSAutomaticCluster \
--sku automatic
Через несколько минут выполнение команды завершается и отображаются сведения о кластере в формате JSON.
Подключение к кластеру
Кластером Kubernetes можно управлять при помощи kubectl клиента командной строки Kubernetes.
kubectl уже установлен, если вы используете Azure Cloud Shell. Чтобы установить kubectl локально, выполните az aks install-cli команду. Автоматические кластеры AKS настраиваются с идентификатором Microsoft Entra для управления доступом на основе ролей Kubernetes (RBAC).
Примечание.
При создании кластера с помощью Azure CLI вашему пользователю назначаются встроенные роли для Azure Kubernetes Service RBAC Cluster Admin.
Настройте kubectl для подключения к вашему кластеру Kubernetes с помощью команды az aks get-credentials. Эта команда скачивает учетные данные и настраивает интерфейс командной строки Kubernetes для их использования.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
Проверьте подключение к кластеру kubectl get с помощью команды. Эта команда возвращает список узлов кластера.
kubectl get nodes
В следующем примере выходных данных показано, как вам будет предложено войти в систему.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
После входа в систему в следующем примере выходных данных отображаются пулы узлов управляемой системы. Убедитесь, что состояние узла Готов.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Создание кластера Automatic Kubernetes
Чтобы создать кластер AKS Automatic, найдите службы Kubernetes и выберите Automatic Kubernetes cluster в раскрывающемся списке.
На вкладке "Основные сведения" заполните все обязательные поля (подписка, группа ресурсов, имя кластера Kubernetes и регион), необходимые для начала работы:
На вкладке "Мониторинг" выберите конфигурации мониторинга из Azure Monitor, Managed Prometheus, Grafana Dashboards, Container Network Observability (ACNS) и/или настройте оповещения. Включите Managed Grafana (необязательно), добавьте теги (необязательно) и перейдите к созданию кластера.
На вкладке "Дополнительно" обновите параметры сети (необязательно), параметры управляемой идентификации (необязательно), параметры безопасности и управляемых пространств имен (необязательно) и перейдите к созданию кластера.
Начните с настройки первого приложения из GitHub и настройте конвейер автоматического развертывания.
Подключение к кластеру
Кластером Kubernetes можно управлять при помощи kubectl клиента командной строки Kubernetes.
kubectl уже установлен, если вы используете Azure Cloud Shell. Чтобы установить kubectl локально, выполните команду az aks install-cli . Автоматические кластеры AKS настраиваются с идентификатором Microsoft Entra для управления доступом на основе ролей Kubernetes (RBAC). При создании кластера с помощью портала Azure вашему пользователю назначаются встроенные роли для Azure Kubernetes Service RBAC Cluster Admin.
Настройте kubectl для подключения к вашему кластеру Kubernetes с помощью команды az aks get-credentials. Эта команда скачивает учетные данные и настраивает интерфейс командной строки Kubernetes для их использования.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
Проверьте подключение к кластеру kubectl get с помощью команды. Эта команда возвращает список узлов кластера.
kubectl get nodes
В следующем примере выходных данных показано, как вам будет предложено войти в систему.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
После входа в систему в следующем примере выходных данных отображаются пулы узлов управляемой системы. Убедитесь, что состояние узла Готов.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Создание группы ресурсов
Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure. При создании группы ресурсов вам будет предложено указать расположение. Это расположение хранилища метаданных группы ресурсов и место, где ресурсы выполняются в Azure, если вы не указываете другой регион во время создания ресурса.
В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
Создайте группу ресурсов с помощью команды az group create.
az group create --name myResourceGroup --location eastus
Следующий пример выходных данных напоминает успешное создание группы ресурсов:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Проверьте файл Bicep
Этот файл Bicep определяет автоматизированный кластер AKS. Хотя в предварительной версии необходимо указать профиль пула агентов системы nodepool.
@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
name: clusterName
location: location
sku: {
name: 'Automatic'
}
properties: {
agentPoolProfiles: [
{
name: 'systempool'
mode: 'System'
count: 3
}
]
}
identity: {
type: 'SystemAssigned'
}
}
Дополнительные сведения о ресурсе, определенном в файле Bicep, см. в справочнике Microsoft.ContainerService/managedClusters.
Разверните файл Bicep
Сохраните файл Bicep с именем main.bicep на локальном компьютере.
Это важно
Файл Bicep устанавливает параметр
clusterNameв строку с значением myAKSAutomaticCluster. Если вы хотите использовать другое имя кластера, обязательно обновите строку до предпочтительного имени кластера перед сохранением файла на компьютере.Разверните Bicep-файл с помощью Azure CLI.
az deployment group create --resource-group myResourceGroup --template-file main.bicepСоздание кластера AKS займет несколько минут. Дождитесь успешного развертывания кластера, прежде чем перейти к следующему шагу.
Подключение к кластеру
Кластером Kubernetes можно управлять при помощи kubectl клиента командной строки Kubernetes.
kubectl уже установлен, если вы используете Azure Cloud Shell. Чтобы установить kubectl локально, выполните команду az aks install-cli . Автоматические кластеры AKS настраиваются с идентификатором Microsoft Entra для управления доступом на основе ролей Kubernetes (RBAC).
Это важно
При создании кластера с помощью Bicep необходимо назначить одну из встроенных ролей, таких как Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writer, Azure Kubernetes Service RBAC Admin или Azure Kubernetes Service RBAC Cluster Admin, вашим пользователям. Роли назначаются в пределах действия в кластере или в определенном пространстве имен, например с использованием az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.com. Кроме того, убедитесь, что у пользователей есть встроенная роль Azure Kubernetes Service Cluster User, чтобы они могли выполнять az aks get-credentials, а затем получите kubeconfig вашего кластера AKS с помощью команды az aks get-credentials.
Настройте kubectl для подключения к вашему кластеру Kubernetes с помощью команды az aks get-credentials. Эта команда скачивает учетные данные и настраивает интерфейс командной строки Kubernetes для их использования.
az aks get-credentials --resource-group myResourceGroup --name
Проверьте подключение к кластеру kubectl get с помощью команды. Эта команда возвращает список узлов кластера.
kubectl get nodes
В следующем примере выходных данных показано, как вам будет предложено войти в систему.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
После входа в систему в следующем примере выходных данных отображаются пулы узлов управляемой системы. Убедитесь, что состояние узла Готов.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Развертывание приложения
Чтобы развернуть приложение, используйте файл манифеста для создания всех объектов, необходимых для запуска приложения AKS Store. Файл манифеста Kubernetes используется для определения требуемого состояния кластера, например, какие образы контейнеров должны запускаться. Манифест включает следующие деплойменты и службы Kubernetes:
- Интерфейс магазина: веб-приложение для пользователей для просмотра продуктов и размещения заказов.
- Обслуживание продукта: отображает сведения о продукте.
- Служба заказов: помещает заказы.
- Rabbit MQ: система очередей сообщений для обработки заказов.
Примечание.
Не рекомендуется запускать контейнеры с сохранением состояния, такие как Rabbit MQ, без постоянного хранилища для продакшена. Они используются здесь для простоты, но мы рекомендуем использовать управляемые службы, такие как Azure Cosmos DB или Служебная шина Azure.
Создайте пространство
aks-store-demoимен для развертывания в него ресурсов Kubernetes.kubectl create ns aks-store-demoРазверните приложение с помощью
kubectl applyкоманды вaks-store-demoпространстве имен. Файл YAML, определяющий развертывание, находится на сайте GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yamlВ следующем примере выходных данных показаны развертывания и службы:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created ingress/store-front created
Тестирование приложения
При запуске приложения Служба Kubernetes предоставляет внешний интерфейс приложения в Интернете. Процесс может занять несколько минут на выполнение.
Проверьте статус развернутых pod с помощью команды kubectl get pods. Прежде чем продолжить, убедитесь, что все pod
Running. Если это первая развернутая рабочая нагрузка, может потребоваться несколько минут для автоматической подготовки узла для создания пула узлов для запуска модулей pod.kubectl get pods -n aks-store-demoПроверьте общедоступный IP-адрес для приложения store-front. Ход выполнения можно отслеживать с помощью команды kubectl get service с аргументом
--watch.kubectl get ingress store-front -n aks-store-demo --watchВыходные данные ADDRESS для
store-frontслужбы изначально отображаются пустыми:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mПосле изменения АДРЕСА с пустого на фактический общедоступный IP-адрес используйте
CTRL-Cдля остановкиkubectlпроцесса наблюдения.В следующем примере выходных данных показан допустимый общедоступный IP-адрес, назначенный службе:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12mОткройте веб-браузер на внешний IP-адрес вашего входа, чтобы увидеть приложение Магазина Azure в действии.
Удаление кластера
Если вы не планируете использовать учебник AKS, очистите ненужные ресурсы, чтобы избежать расходов Azure. Выполните команду az group delete , чтобы удалить группу ресурсов, службу контейнеров и все связанные ресурсы.
az group delete --name myResourceGroup --yes --no-wait
Примечание.
Кластер AKS был создан с управляемой системой идентичностью, которая является идентичностью по умолчанию, используемой в этом кратком руководстве. Платформа управляет этим удостоверением, поэтому удалить его вручную не нужно.
Дальнейшие действия
В этом кратком руководстве вы развернули кластер Kubernetes с помощью AKS Automatic , а затем развернули в нем простое многоконтейнерное приложение. Этот пример приложения предназначен только для демонстрационных целей и не представляет все рекомендации для приложений Kubernetes. Рекомендации по созданию полных решений с помощью AKS для рабочей среды см. в руководстве по решениям AKS.
Чтобы узнать больше об AKS Automatic, перейдите к обзору.