Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ AKS Automatic
Служба Azure Kubernetes (AKS) Автоматически предоставляет самый простой управляемый интерфейс Kubernetes для разработчиков, инженеров DevOps и инженеров платформы. Идеально подходит для современных приложений и приложений с использованием ИИ, AKS Automatic автоматизирует настройку и операции кластера AKS и внедряет конфигурации лучших практик. Пользователи любого уровня навыков могут воспользоваться преимуществами безопасности, производительности и зависимости AKS Automatic для своих приложений. AKS Automatic также включает SLA готовности pod, которое гарантирует, что 99.9% операций по готовности pod завершаются в течение 5 минут, обеспечивая надежную и самовосстанавливающуюся инфраструктуру для ваших приложений. В этом быстром старте предполагается, что у вас есть базовое понимание концепций Kubernetes. Дополнительные сведения см. в статье Ключевые концепции Kubernetes для службы Azure Kubernetes (AKS).
В этом кратком руководстве вы узнаете, как:
- Создайте виртуальную сеть.
- Создайте управляемое удостоверение с разрешениями на виртуальную сеть.
- Разверните частный кластер AKS Automatic в виртуальной сети.
- Подключитесь к частному кластеру.
- Запустите пример мультиконтейнерного приложения с группой микрослужб и веб-интерфейсов с имитацией сценария розничной торговли.
Предпосылки
- Если у вас нет учетной записи Azure, вы можете создать бесплатную учетную запись.
- Для этой статьи требуется версия 2.77.0 или более поздняя версия Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена там. Если вам нужно установить или обновить, см. статью "Установка Azure CLI".
- Идентификация кластера с встроенным назначением ролей в подсети сервера API.
- Удостоверение кластера со встроенным
Network Contributorназначением ролей в виртуальной сети для поддержки автоматической подготовки узла. - Удостоверение пользователя, доступ к кластеру с помощью
Azure Kubernetes Service Cluster User RoleиAzure Kubernetes Service RBAC Writer. - Виртуальная сеть с выделенной подсетью сервера API по крайней мере
*/28размера, делегированнойMicrosoft.ContainerService/managedClusters.- Если к подсетям подключена группа безопасности сети (NSG), убедитесь, что правила разрешают следующий трафик между узлами и сервером API, Azure Load Balancer и серверОМ API и pod для обмена данными pod.
- Если есть брандмауэр Azure или другой метод ограничения исходящего трафика или устройство, убедитесь, что разрешены необходимые правила для исходящего сетевого трафика и полные имена доменов.
- AKS Automatic включит политику Azure в вашем кластере AKS, но необходимо предварительно зарегистрировать
Microsoft.PolicyInsightsпоставщика ресурсов в подписке для более плавного взаимодействия. Дополнительные сведения см. в разделе поставщики и типы ресурсов 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.
Если у вас есть дополнительные вопросы, ознакомьтесь с документацией по устранению неполадок.
Определение переменных
Определите следующие переменные, которые будут использоваться в последующих шагах.
RG_NAME=automatic-rg
VNET_NAME=automatic-vnet
CLUSTER_NAME=automatic
IDENTITY_NAME=automatic-uami
LOCATION=eastus
SUBSCRIPTION_ID=$(az account show --query id -o tsv)
Создание группы ресурсов
Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure.
Создайте группу ресурсов с помощью команды az group create.
az group create -n ${RG_NAME} -l ${LOCATION}
Следующий пример выходных данных напоминает успешное создание группы ресурсов:
{
"id": "/subscriptions/<guid>/resourceGroups/automatic-rg",
"location": "eastus",
"managedBy": null,
"name": "automatic-rg",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Создание виртуальной сети
Создайте виртуальную сеть с помощью az network vnet create команды. Создайте подсеть сервера API и подсеть кластера с помощью az network vnet subnet create команды.
При использовании пользовательской виртуальной сети с AKS Automatic необходимо создать и делегировать подсеть Microsoft.ContainerService/managedClustersсервера API, в которую предоставляется разрешение службы AKS для внедрения модулей pod сервера API и внутренней подсистемы балансировки нагрузки в эту подсеть. Вы не можете использовать подсеть для других рабочих нагрузок, но ее можно использовать для нескольких кластеров AKS, расположенных в одной виртуальной сети. Минимальный поддерживаемый размер подсети сервера API — /28.
Предупреждение
Кластер AKS резервирует по крайней мере 9 IP-адресов в адресном пространстве подсети. Заканчивающиеся IP-адреса могут помешать масштабированию сервера API и вызвать сбой сервера API.
az network vnet create --name ${VNET_NAME} \
--resource-group ${RG_NAME} \
--location ${LOCATION} \
--address-prefixes 172.19.0.0/16
az network vnet subnet create --resource-group ${RG_NAME} \
--vnet-name ${VNET_NAME} \
--name apiServerSubnet \
--delegations Microsoft.ContainerService/managedClusters \
--address-prefixes 172.19.0.0/28
az network vnet subnet create --resource-group ${RG_NAME} \
--vnet-name ${VNET_NAME} \
--name clusterSubnet \
--address-prefixes 172.19.1.0/24
Правила группы безопасности сети
Весь трафик в виртуальной сети разрешен по умолчанию. Но если вы добавили правила группы безопасности сети (NSG), чтобы ограничить трафик между разными подсетями, убедитесь, что правила безопасности NSG разрешают следующие типы обмена данными:
| Назначение | Источник | Протокол | Порт | Использование |
|---|---|---|---|---|
| CIDR подсети СЕРВЕРА APIServer | Подсеть кластера | Протокол tcp | 443 и 4443 | Требуется для включения связи между узлами и сервером API. |
| CIDR подсети СЕРВЕРА APIServer | Azure Load Balancer (балансировщик нагрузки Azure) | Протокол tcp | 9988 | Требуется для включения взаимодействия между Azure Load Balancer и сервером API. Вы также можете включить всю связь между Azure Load Balancer и CIDR подсети сервера API. |
| CIDR узла | CIDR узла | Все протоколы | Все порты | Требуется для включения связи между узлами. |
| CIDR узла | Pod CIDR | Все протоколы | Все порты | Требуется для маршрутизации трафика службы. |
| Pod CIDR | Pod CIDR | Все протоколы | Все порты | Требуется для трафика от Pod к Pod и от Pod к службе, включая DNS. |
Создайте управляемое удостоверение и предоставьте ему разрешения на виртуальную сеть.
Создайте управляемое удостоверение с помощью команды az identity create и получите идентификатор субъекта. Назначьте роль участника сети управляемому удостоверению на виртуальной сети, используя команду az role assignment create.
az identity create \
--resource-group ${RG_NAME} \
--name ${IDENTITY_NAME} \
--location ${LOCATION}
IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group ${RG_NAME} --name ${IDENTITY_NAME} --query principalId -o tsv)
az role assignment create \
--scope "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}" \
--role "Network Contributor" \
--assignee ${IDENTITY_PRINCIPAL_ID}
Создание частного кластера AKS Automatic в пользовательской виртуальной сети
Чтобы создать частный кластер AKS Automatic, используйте команду az aks create . Обратите внимание на использование флага --enable-private-cluster .
Примечание.
Вы можете обратиться к документации по частному кластеру для настройки дополнительных параметров, таких как отключение общедоступного полного доменного имени кластера и настройка частной зоны DNS.
az aks create \
--resource-group ${RG_NAME} \
--name ${CLUSTER_NAME} \
--location ${LOCATION} \
--apiserver-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/apiServerSubnet" \
--vnet-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/clusterSubnet" \
--assign-identity "/subscriptions/${SUBSCRIPTION_ID}/resourcegroups/${RG_NAME}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${IDENTITY_NAME}" \
--sku automatic \
--enable-private-cluster \
--no-ssh-key
Через несколько минут выполнение команды завершается и отображаются сведения о кластере в формате JSON.
Подключение к кластеру
При создании автоматического кластера AKS в качестве частного кластера конечная точка сервера API не имеет общедоступного IP-адреса. Для управления сервером API, например с помощью kubectl, необходимо подключиться через компьютер, имеющий доступ к виртуальной сети Azure кластера. Существует несколько вариантов установления сетевого подключения к частному кластеру:
- Создайте виртуальную машину в той же виртуальной сети, что и автоматический кластер AKS, используя
az vm createкоманду с флагом--vnet-name. - Используйте виртуальную машину в отдельной виртуальной сети и настройте пиринг между виртуальными сетями.
- Используйте подключение Express Route или VPN.
- Используйте подключение к частной конечной точке .
Создание виртуальной машины в той же виртуальной сети, что и кластер AKS, является самым простым вариантом. ExpressRoute и VPN добавляют затраты и требуют дополнительных сложностей в сети. Для соединения виртуальных сетей необходимо спланировать диапазоны сети CIDR, чтобы убедиться в отсутствии перекрывающихся диапазонов. Дополнительные сведения см. в разделе "Параметры подключения к частному кластеру ".
Кластером 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 ${RG_NAME} --name ${CLUSTER_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
Создание виртуальной сети
Этот файл Bicep определяет виртуальную сеть.
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
@description('The name of the virtual network.')
param vnetName string = 'aksAutomaticVnet'
@description('The address prefix of the virtual network.')
param addressPrefix string = '172.19.0.0/16'
@description('The name of the API server subnet.')
param apiServerSubnetName string = 'apiServerSubnet'
@description('The subnet prefix of the API server subnet.')
param apiServerSubnetPrefix string = '172.19.0.0/28'
@description('The name of the cluster subnet.')
param clusterSubnetName string = 'clusterSubnet'
@description('The subnet prefix of the cluster subnet.')
param clusterSubnetPrefix string = '172.19.1.0/24'
// Virtual network with an API server subnet and a cluster subnet
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' = {
name: vnetName
location: location
properties: {
addressSpace: {
addressPrefixes: [ addressPrefix ]
}
subnets: [
{
name: apiServerSubnetName
properties: {
addressPrefix: apiServerSubnetPrefix
}
}
{
name: clusterSubnetName
properties: {
addressPrefix: clusterSubnetPrefix
}
}
]
}
}
output apiServerSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, apiServerSubnetName)
output clusterSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, clusterSubnetName)
Сохраните файл Bicep virtualNetwork.bicep на локальный компьютер.
Это важно
Bicep-файл задает параметр vnetName в aksAutomaticVnet, параметр addressPrefix в 172.19.0.0/16, параметр apiServerSubnetPrefix в 172.19.0.0/28, а параметр apiServerSubnetPrefix в 172.19.1.0/24. Если вы хотите использовать различные значения, обязательно обновите строки до предпочитаемых значений.
Разверните Bicep-файл с помощью Azure CLI.
az deployment group create --resource-group <resource-group> --template-file virtualNetwork.bicep
Весь трафик в виртуальной сети разрешен по умолчанию. Но если вы добавили правила группы безопасности сети (NSG), чтобы ограничить трафик между разными подсетями, убедитесь, что правила безопасности NSG разрешают следующие типы обмена данными:
| Назначение | Источник | Протокол | Порт | Использование |
|---|---|---|---|---|
| CIDR подсети СЕРВЕРА APIServer | Подсеть кластера | Протокол tcp | 443 и 4443 | Требуется для включения связи между узлами и сервером API. |
| CIDR подсети СЕРВЕРА APIServer | Azure Load Balancer (балансировщик нагрузки Azure) | Протокол tcp | 9988 | Требуется для включения взаимодействия между Azure Load Balancer и сервером API. Вы также можете включить всю связь между Azure Load Balancer и CIDR подсети сервера API. |
Создание управляемого удостоверения
Этот файл Bicep определяет управляемое удостоверение, назначаемое пользователем.
param location string = resourceGroup().location
param uamiName string = 'aksAutomaticUAMI'
resource userAssignedManagedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
name: uamiName
location: location
}
output uamiId string = userAssignedManagedIdentity.id
output uamiPrincipalId string = userAssignedManagedIdentity.properties.principalId
output uamiClientId string = userAssignedManagedIdentity.properties.clientId
Сохраните файл Bicep uami.bicep на ваш локальный компьютер.
Это важно
Файл Bicep устанавливает uamiName параметр на aksAutomaticUAMI. Если вы хотите использовать другое имя удостоверения, обязательно обновите строку до предпочтительного имени.
Разверните Bicep-файл с помощью Azure CLI.
az deployment group create --resource-group <resource-group> --template-file uami.bicep
Назначение роли участника сети на виртуальной сети
Этот файл Bicep определяет назначения ролей в виртуальной сети.
@description('The name of the virtual network.')
param vnetName string = 'aksAutomaticVnet'
@description('The principal ID of the user assigned managed identity.')
param uamiPrincipalId string
// Get a reference to the virtual network
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' existing ={
name: vnetName
}
// Assign the Network Contributor role to the user assigned managed identity on the virtual network
// '4d97b98b-1d4f-4787-a291-c67834d212e7' is the built-in Network Contributor role definition
// See: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles/networking#network-contributor
resource networkContributorRoleAssignmentToVirtualNetwork 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(uamiPrincipalId, '4d97b98b-1d4f-4787-a291-c67834d212e7', resourceGroup().id, virtualNetwork.name)
scope: virtualNetwork
properties: {
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', '4d97b98b-1d4f-4787-a291-c67834d212e7')
principalId: uamiPrincipalId
}
}
Сохраните файл Bicep roleAssignments.bicep на локальный компьютер.
Это важно
Файл Bicep устанавливает параметр vnetName на aksAutomaticVnet. Если вы использовали другое имя виртуальной сети, обязательно обновите строку до предпочтительного имени виртуальной сети.
Разверните Bicep-файл с помощью Azure CLI. Необходимо предоставить идентификатор главного пользователя назначенной учётной записи.
az deployment group create --resource-group <resource-group> --template-file roleAssignments.bicep \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>
Создание частного кластера AKS Automatic в пользовательской виртуальной сети
Файл Bicep, представленный здесь, определяет автоматический кластер AKS.
Примечание.
Вы можете обратиться к документации по частному кластеру для настройки дополнительных параметров, таких как отключение общедоступного полного доменного имени кластера и настройка частной зоны DNS.
@description('The name of the managed cluster resource.')
param clusterName string = 'aksAutomaticCluster'
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
@description('The resource ID of the API server subnet.')
param apiServerSubnetId string
@description('The resource ID of the cluster subnet.')
param clusterSubnetId string
@description('The resource ID of the user assigned managed identity.')
param uamiId string
/// Create the private AKS Automatic cluster using the custom virtual network and user assigned managed identity
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
name: clusterName
location: location
sku: {
name: 'Automatic'
}
properties: {
agentPoolProfiles: [
{
name: 'systempool'
mode: 'System'
count: 3
vnetSubnetID: clusterSubnetId
}
]
apiServerAccessProfile: {
subnetId: apiServerSubnetId
enablePrivateCluster: true
}
networkProfile: {
outboundType: 'loadBalancer'
}
}
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${uamiId}': {}
}
}
}
Сохраните файл Bicep aks.bicep на локальном компьютере.
Это важно
Файл Bicep задает параметр clusterName на aksAutomaticCluster. Если вы хотите другое имя кластера, обязательно обновите строку до предпочтительного имени кластера.
Разверните Bicep-файл с помощью Azure CLI. Необходимо указать идентификатор ресурса подсети сервера API, идентификатор ресурса подсети кластера и идентификатор основной записи назначенной пользователем личности.
az deployment group create --resource-group <resource-group> --template-file aks.bicep \
--parameters apiServerSubnetId=<API server subnet resource id> \
--parameters clusterSubnetId=<cluster subnet resource id> \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>
Подключение к кластеру
При создании автоматического кластера AKS в качестве частного кластера конечная точка сервера API не имеет общедоступного IP-адреса. Для управления сервером API, например с помощью kubectl, необходимо подключиться через компьютер, имеющий доступ к виртуальной сети Azure кластера. Существует несколько вариантов установления сетевого подключения к частному кластеру:
- Создайте виртуальную машину в той же виртуальной сети, что и автоматический кластер AKS, используя
az vm createкоманду с флагом--vnet-name. - Используйте виртуальную машину в отдельной виртуальной сети и настройте пиринг между виртуальными сетями.
- Используйте подключение Express Route или VPN.
- Используйте подключение к частной конечной точке .
Создание виртуальной машины в той же виртуальной сети, что и кластер AKS, является самым простым вариантом. Использование Express Route и VPN увеличивает затраты и сложность сети. Для соединения виртуальных сетей необходимо спланировать диапазоны сети CIDR, чтобы убедиться в отсутствии перекрывающихся диапазонов. Дополнительные сведения см. в разделе "Параметры подключения к частному кластеру ".
Кластером 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 <resource-group> --name <cluster-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 предоставляет внешний интерфейс приложения в Интернете. Процесс может занять несколько минут на выполнение.
Проверьте состояние развернутых модулей pods с помощью команды kubectl get pods. Прежде чем продолжить, убедитесь, что все поды находятся в состоянии
Running. Если это первая развертываемая рабочая нагрузка, может потребоваться несколько минут для автоматической подготовки нода для создания пула нодов для запуска подов.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 <resource-group> --yes --no-wait
Примечание.
Кластер AKS был создан с помощью управляемой идентичности, назначенной пользователем. Если вам больше не нужна эта идентификация, ее можно удалить вручную.
Дальнейшие действия
В этом кратком руководстве вы развернули частный кластер Kubernetes с помощью AKS Automatic в пользовательской виртуальной сети, а затем развернули в нем простое многоконтейнерное приложение. Этот пример приложения предназначен только для демонстрационных целей и не представляет все рекомендации для приложений Kubernetes. Руководящие указания по созданию полных решений с помощью AKS для рабочей среды см. в разделе Руководство по решениям AKS.
Чтобы узнать больше об AKS Automatic, перейдите к обзору.