Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ AKS Automatic
Azure Kubernetes Service (AKS) Автоматический — это управляемая среда Kubernetes, которое автоматизирует настройку и операции кластера AKS и включает конфигурации лучших практик. AKS Automatic также включает [соглашение об уровне обслуживания о готовности Pod][azure-sla], которое гарантирует, что 99,9% квалифицированных операций по готовности Pod завершаются в течение 5 минут, обеспечивая надежную и самовосстанавливающуюся инфраструктуру для ваших приложений. Из этого краткого руководства вы узнаете, как:
- Развертывание автоматического кластера AKS.
- Запустите пример мультиконтейнерного приложения с группой микрослужб и веб-интерфейсов с имитацией сценария розничной торговли.
Перед тем как начать
- В этом кратком руководстве предполагается, что у вас есть базовое понимание понятий Kubernetes. Дополнительные сведения см. в основных понятиях Kubernetes для Azure Kubernetes Service (AKS).
- AKS Automatic включает Политика Azure в вашем кластере AKS, но необходимо предварительно зарегистрировать поставщика ресурсов
Майкрософт.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.
- Azure CLI версии 2.77.0 или более поздней. Найдите версию с помощью
az --versionкоманды. Сведения об установке или обновлении см. в разделе Install Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена там. - Если у вас несколько Azure подписок, выберите соответствующий идентификатор подписки для выставления счетов за ресурсы с помощью команды
az account set.
- Чтобы развернуть файл Bicep, необходимо иметь права на запись на создаваемые ресурсы и доступ ко всем операциям типа ресурса
Майкрософт.Resources/deployments. Например, для создания виртуальной машины требуетсяМайкрософт.Compute/virtualMachines/writeи разрешенияМайкрософт.Resources/deployments/*. Чтобы увидеть список ролей и разрешений, см. раздел встроенные роли Azure.
Ограничения
- Для системных узлов автоматического кластера AKS требуется развертывание в регионах Azure, которые поддерживают по крайней мере три зоны доступности, эфемерный диск операционной системы и Azure ОС Linux.
- AKS Automatic доступен в следующих регионах:
australiaeast,austriaeast,belgiumcentral,brazilsouth,canadacentral,centralindia,centralus,chilecentral,denmarkeast,eastasia,eastus,eastus2,francecentral,germanywestcentral,indonesiacentral,israelcentral,italynorth,japaneast,japanwest,koreacentral,malaysiawest,mexicocentral,newzealandnorth,northcentralus,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus,westus2,westus3. - Автоматический кластер AKS имеет преднастроенный блокировка группы ресурсов узла, не позволяющий изменения в группе ресурсов MC_, предотвращая создание связей виртуальной сети в зоне Частная зона DNS по умолчанию. Для сценариев использования между виртуальными сетями или пользовательскими DNS воспользуйтесь настраиваемой сетью и частной DNS, следуя инструкции по созданию частного кластера Azure Kubernetes Service (AKS) в пользовательской виртуальной сети.
Это важно
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 ресурсы развертываются и управляются.
Создайте группу ресурсов с помощью команды az group create. В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
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 с параметром --sku, установленным на automatic. В следующем примере создается кластер с именем myAKSAutomaticCluster с управляемым Prometheus и включена интеграция Container Insights:
az aks create \
--resource-group myResourceGroup \
--name myAKSAutomaticCluster \
--sku automatic
Через несколько минут выполнение команды завершается и отображаются сведения о кластере в формате JSON.
Создание кластера Automatic Kubernetes
Чтобы создать автоматический кластер AKS, найдите и выберите службы Kubernetes. При этом вы перейдете на страницу Центра Kubernetes (предварительная версия).
На странице Центра Kubernetes (предварительная версия) выберите "Создать>автоматический кластер Kubernetes".
На вкладке "Основные сведения" заполните все обязательные поля (подписка, группа ресурсов, имя кластера Kubernetes и регион), а затем нажмите кнопку "Далее".
На вкладке Monitoring выберите нужные конфигурации мониторинга из Azure Monitor (Container Insights), Managed Prometheus, Grafana Dashboards, Container Network Monitoringability (ACNS) и оповещения, а затем выберите Next.
На вкладке Advanced выберите нужные расширенные конфигурации: приватный доступ, виртуальные сети Azure, управляемое удостоверение, безопасность сети контейнеров (ACNS) и пространства имен управляемого Kubernetes, а затем выберите Проверить и создать.
Просмотрите конфигурации на вкладке "Проверка и создание ", а затем выберите "Создать ", чтобы развернуть автоматический кластер AKS.
Начните с настройки вашего первого приложения из GitHub и настройте конвейер автоматического развертывания.
Проверить файл «Bicep»
Следующий файл Bicep определяет автоматический кластер AKS:
@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, см. в справочнике Майкрософт.ContainerService/managedClusters.
Разверните файл Bicep
Сохраните файл Bicep как main.bicep на локальный компьютер.
Это важно
Файл Bicep задает параметр
clusterNameстроке myAKSAutomaticCluster. Если вы хотите использовать другое имя кластера, обязательно обновите строку до предпочтительного имени кластера перед сохранением файла на компьютере.Для развертывания файла Bicep используйте команду [
az deployment group create][az-deployment-group-create].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 ID для управления доступом на основе ролей Kubernetes (RBAC).
Примечание.
При создании кластера с помощью Azure CLI вашему пользователю назначаются встроенные роли для Служба Azure Kubernetes 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-12345678-vmss000000 Ready agent 2m26s v1.28.5 aks-nodepool1-12345678-vmss000001 Ready agent 2m26s v1.28.5 aks-nodepool1-12345678-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-адресу вашего ingress, чтобы увидеть работу приложения магазина Azure.
Удаление кластера
Если вы не планируете использовать учебник AKS, очистите ненужные ресурсы, чтобы избежать расходов Azure.
Удалите группу ресурсов, службу контейнеров и все связанные ресурсы с помощью az group delete команды.
az group delete --name myResourceGroup --yes --no-wait
Примечание.
Кластер AKS был создан с управляемой системой идентичностью, которая является идентичностью по умолчанию, используемой в этом кратком руководстве. Платформа управляет этим удостоверением, поэтому удалить его вручную не нужно.
Связанный контент
В этом кратком руководстве вы развернули кластер Kubernetes с помощью AKS Automatic , а затем развернули в нем простое многоконтейнерное приложение. Этот пример приложения предназначен только для демонстрационных целей и не представляет все рекомендации для приложений Kubernetes. Рекомендации по созданию полных решений с помощью AKS для рабочей среды см. в руководстве по решениям AKS.
Дополнительные сведения об автоматическом использовании AKS см. в статье Introduction to Azure Kubernetes Service (AKS) Automatic