Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✔️ AKS Automatic
O Serviço Kubernetes do Azure (AKS) Automatic fornece a experiência Kubernetes gerenciada mais fácil para desenvolvedores, engenheiros de DevOps e engenheiros de plataforma. Ideal para aplicações modernas e de IA, o AKS Automatic automatiza a configuração e as operações do cluster AKS e incorpora as configurações de melhores práticas. Usuários de qualquer nível de habilidade podem se beneficiar da segurança, desempenho e confiabilidade do AKS Automatic para suas aplicações. O AKS Automatic inclui também um SLA de prontidão de pods que garante que 99,9% das operações de prontidão de pods sejam concluídas dentro de 5 minutos, garantindo uma infraestrutura fiável e auto-reparadora para as suas aplicações. Este início rápido assume que possui um entendimento básico dos conceitos do Kubernetes. Para obter mais informações, consulte Conceitos principais do Kubernetes para o Serviço Kubernetes do Azure (AKS).
Neste guia de início rápido, você aprende a:
- Crie uma rede virtual.
- Crie uma identidade gerenciada com permissões na rede virtual.
- Implante um cluster privado do AKS Automatic na rede virtual.
- Conecte-se ao cluster privado.
- Corra uma aplicação de exemplo com vários contêineres e um conjunto de microsserviços e interfaces web simulando um cenário de retalho.
Pré-requisitos
- Se você não tiver uma conta do Azure, crie uma conta gratuita.
- Este artigo requer a versão 2.77.0 ou posterior da CLI do Azure. Se você estiver usando o Azure Cloud Shell, a versão mais recente já está instalada lá. Se precisar de instalar ou atualizar, consulte Install Azure CLI.
- Identidade de cluster com uma atribuição de função incorporada na sub-rede do servidor de API.
- Identidade de cluster com uma
Network Contributoratribuição de função interna na rede virtual para dar suporte ao provisionamento automático de nós. - Identidade do usuário acessando o cluster com
Azure Kubernetes Service Cluster User RoleeAzure Kubernetes Service RBAC Writer. - Uma rede virtual com uma sub-rede de servidor de API dedicada de pelo menos
*/28tamanho delegada aoMicrosoft.ContainerService/managedClusters.- Se houver um NSG (Grupo de Segurança de Rede) conectado a sub-redes, verifique se as regras permitem o seguinte tráfego entre os nós e o servidor de API, o Balanceador de Carga do Azure e o servidor de API e a comunicação de pod para pod.
- Se houver um Firewall do Azure ou outro método ou dispositivo de restrição de saída, verifique se as regras de rede de saída e os FQDNs necessários são permitidos.
- O AKS Automatic habilitará a Política do Azure em seu cluster AKS, mas você deve pré-registrar o
Microsoft.PolicyInsightsprovedor de recursos em sua assinatura para uma experiência mais suave. Consulte Provedores e tipos de recursos do Azure para obter mais informações.
Limitações
- O pool de nós do sistema de clusters automáticos do AKS requer implantação em regiões do Azure que suportem pelo menos três zonas de disponibilidade, disco de sistema operacional efêmero e sistema operacional Linux do Azure.
- Você só pode criar clusters AKS Automatic em regiões onde a Integração de VNet do Servidor de API está geralmente disponível (GA).
Importante
AKS Automatic tenta selecionar dinamicamente um tamanho de máquina virtual para o grupo de nós system com base na capacidade disponível na assinatura. Verifique se sua assinatura tem cota para 16 vCPUs de qualquer um dos seguintes tamanhos na região em que você está implantando o cluster: 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 ou Standard_D4alds_v5. Você pode exibir cotas para famílias de VMs específicas e enviar solicitações de aumento de cota por meio do portal do Azure.
Se você tiver dúvidas adicionais, saiba mais através dos documentos de solução de problemas.
Definir variáveis
Defina as seguintes variáveis que serão usadas nas etapas subsequentes.
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)
Criar um grupo de recursos
Um grupo de recursos do Azure é um grupo lógico no qual os recursos do Azure são implantados e gerenciados.
Crie um grupo de recursos usando o comando az group create .
az group create -n ${RG_NAME} -l ${LOCATION}
O exemplo de saída a seguir ilustra a criação bem-sucedida do grupo de recursos:
{
"id": "/subscriptions/<guid>/resourceGroups/automatic-rg",
"location": "eastus",
"managedBy": null,
"name": "automatic-rg",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Criar uma rede virtual
Crie uma rede virtual usando o az network vnet create comando. Crie uma sub-rede de servidor de API e uma sub-rede de cluster usando o az network vnet subnet create comando.
Ao usar uma rede virtual personalizada com o AKS Automatic, você deve criar e delegar uma sub-rede do servidor API ao Microsoft.ContainerService/managedClusters, que concede ao serviço AKS permissões para injetar os pods do servidor API e o balanceador de carga interno nessa sub-rede. Você não pode usar a sub-rede para outras cargas de trabalho, mas pode usá-la para vários clusters AKS localizados na mesma rede virtual. O tamanho mínimo suportado da sub-rede do servidor API é / 28.
Advertência
Um cluster AKS reserva pelo menos 9 IPs no espaço de endereço da sub-rede. A falta de endereços IP pode impedir o dimensionamento do servidor de API e causar uma interrupção do servidor de 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
Regras do grupo de segurança de rede
Todo o tráfego dentro da rede virtual é permitido por padrão. Mas se você adicionou regras do NSG (Grupo de Segurança de Rede) para restringir o tráfego entre sub-redes diferentes, certifique-se de que as regras de segurança do NSG permitam os seguintes tipos de comunicação:
| Destino | Fonte | Protocolo | Porto | Utilização |
|---|---|---|---|---|
| APIServer Sub-Rede CIDR | Sub-rede do cluster | TCP | 443 e 4443 | Necessário para habilitar a comunicação entre nós e o servidor de API. |
| APIServer Sub-Rede CIDR | Azure Load Balancer | TCP | 9988 | Necessário para habilitar a comunicação entre o Azure Load Balancer e o servidor de API. Você também pode habilitar toda a comunicação entre o Balanceador de Carga do Azure e o CIDR de Sub-rede do Servidor de API. |
| Nó CIDR | Nó CIDR | Todos os Protocolos | Todos os Portos | Necessário para permitir a comunicação entre nós. |
| Nó CIDR | Pod CIDR | Todos os Protocolos | Todos os Portos | Necessário para roteamento de tráfego de serviço. |
| Pod CIDR | Pod CIDR | Todos os Protocolos | Todos os Portos | Necessário para o tráfego de Pod to Pod e Pod to Service, incluindo DNS. |
Criar uma identidade gerenciada e dar-lhe permissões na rede virtual
Crie uma identidade gerenciada usando o az identity create comando e recupere o ID principal. Atribua a função de Colaborador de Rede na rede virtual à identidade gerenciada usando o az role assignment create comando.
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}
Criar um cluster privado do AKS Automatic em uma rede virtual personalizada
Para criar um cluster privado do AKS Automatic, use o comando az aks create . Observe o uso da --enable-private-cluster bandeira.
Observação
Você pode consultar a documentação do cluster privado para configurar opções adicionais, como desabilitar o FQDN público do cluster e configurar a zona DNS privada.
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
Após alguns minutos, o comando conclui e retorna informações formatadas em JSON sobre o cluster.
Conectar-se ao cluster
Quando um cluster AKS Automatic é criado como um cluster privado, o ponto de extremidade do servidor API não tem endereço IP público. Para gerir o servidor de API, por exemplo, através de kubectl, precisa de se conectar através de uma máquina que tenha acesso à rede virtual do Azure do cluster. Existem várias opções para estabelecer conectividade de rede com o cluster privado:
- Crie uma máquina virtual na mesma rede virtual que o cluster AKS Automatic usando o
az vm createcomando com o--vnet-namesinalizador. - Use uma máquina virtual em uma rede virtual separada e configure o emparelhamento de rede virtual.
- Use uma Rota Expressa ou uma conexão VPN.
- Utilize uma conexão de ponto de extremidade privado.
Criar uma máquina virtual na mesma rede virtual que o cluster AKS é a opção mais fácil. ExpressRoute e VPNs adicionam custos e exigem complexidade de rede adicional. O emparelhamento de rede virtual requer que você planeje seus intervalos CIDR de rede para garantir que não haja intervalos sobrepostos. Consulte Opções para se conectar ao cluster privado para obter mais informações.
Para gerenciar um cluster Kubernetes, use o cliente de linha de comando Kubernetes, kubectl.
kubectl já está instalado se você usar o Azure Cloud Shell. Para instalar kubectl localmente, execute o comando az aks install-cli . Os clusters automáticos AKS são configurados com o Microsoft Entra ID para controle de acesso baseado em função (RBAC) do Kubernetes.
Quando você cria um cluster usando a CLI do Azure, seu usuário recebe funções internas para Azure Kubernetes Service RBAC Cluster Admin.
Configure kubectl para se conectar ao cluster Kubernetes usando o comando az aks get-credentials. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.
az aks get-credentials --resource-group ${RG_NAME} --name ${CLUSTER_NAME}
Verifique a conexão com seu cluster usando o comando kubectl get . Este comando retorna uma lista dos nós do cluster.
kubectl get nodes
A saída de exemplo a seguir mostra como você é solicitado a fazer login.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Depois de fazer login, a saída de exemplo a seguir mostra os pools de nós do sistema gerenciado. Verifique se o status do nó é Pronto.
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
Criar uma rede virtual
Este arquivo Bicep define uma rede virtual.
@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)
Salve o arquivo Bicep virtualNetwork.bicep em seu computador local.
Importante
O arquivo Bicep define o vnetName param como aksAutomaticVnet, o addressPrefix param como 172.19.0.0/16, o apiServerSubnetPrefix param como 172.19.0.0/28 e o apiServerSubnetPrefix param como 172.19.1.0/24. Se você quiser usar valores diferentes, certifique-se de atualizar as cadeias de caracteres para seus valores preferidos.
Implante o arquivo Bicep usando a CLI do Azure.
az deployment group create --resource-group <resource-group> --template-file virtualNetwork.bicep
Todo o tráfego dentro da rede virtual é permitido por padrão. Mas se você adicionou regras do NSG (Grupo de Segurança de Rede) para restringir o tráfego entre sub-redes diferentes, certifique-se de que as regras de segurança do NSG permitam os seguintes tipos de comunicação:
| Destino | Fonte | Protocolo | Porto | Utilização |
|---|---|---|---|---|
| APIServer Sub-Rede CIDR | Sub-rede do cluster | TCP | 443 e 4443 | Necessário para habilitar a comunicação entre nós e o servidor de API. |
| APIServer Sub-Rede CIDR | Azure Load Balancer | TCP | 9988 | Necessário para habilitar a comunicação entre o Azure Load Balancer e o servidor de API. Você também pode habilitar toda a comunicação entre o Balanceador de Carga do Azure e o CIDR de Sub-rede do Servidor de API. |
Criar uma identidade gerenciada
Este arquivo Bicep define uma identidade gerenciada atribuída ao usuário.
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
Salve o arquivo Bicep uami.bicep em seu computador local.
Importante
O arquivo Bicep define o uamiName param como aksAutomaticUAMI. Se você quiser usar um nome de identidade diferente, atualize a cadeia de caracteres para seu nome preferido.
Implante o arquivo Bicep usando a CLI do Azure.
az deployment group create --resource-group <resource-group> --template-file uami.bicep
Atribuir a função de Colaborador de Rede sobre a rede virtual
Este arquivo Bicep define atribuições de função na rede virtual.
@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
}
}
Salve o arquivo Bicep roleAssignments.bicep em seu computador local.
Importante
O arquivo Bicep define o vnetName param como aksAutomaticVnet. Se você usou um nome de rede virtual diferente, certifique-se de atualizar a cadeia de caracteres para seu nome de rede virtual preferido.
Implante o arquivo Bicep usando a CLI do Azure. Você precisa fornecer o ID principal de identidade atribuído ao usuário.
az deployment group create --resource-group <resource-group> --template-file roleAssignments.bicep \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>
Criar um cluster privado do AKS Automatic em uma rede virtual personalizada
Este ficheiro Bicep define o cluster AKS Automático.
Observação
Você pode consultar a documentação do cluster privado para configurar opções adicionais, como desabilitar o FQDN público de clusters e configurar a zona DNS privada.
@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}': {}
}
}
}
Salve o arquivo Bicep aks.bicep em seu computador local.
Importante
O arquivo Bicep define o clusterName param como aksAutomaticCluster. Se você quiser um nome de cluster diferente, atualize a cadeia de caracteres para o nome do cluster de sua preferência.
Implante o arquivo Bicep usando a CLI do Azure. Você precisa fornecer a ID do recurso da sub-rede do servidor API, a ID do recurso da sub-rede do cluster, e a ID principal da identidade atribuída ao utilizador.
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>
Conectar-se ao cluster
Quando um cluster AKS Automatic é criado como um cluster privado, o ponto de extremidade do servidor API não tem endereço IP público. Para gerir o servidor de API, por exemplo, através de kubectl, precisa de se conectar através de uma máquina que tenha acesso à rede virtual do Azure do cluster. Existem várias opções para estabelecer conectividade de rede com o cluster privado:
- Crie uma máquina virtual na mesma rede virtual que o cluster AKS Automatic usando o
az vm createcomando com o--vnet-namesinalizador. - Use uma máquina virtual em uma rede virtual separada e configure o emparelhamento de rede virtual.
- Use uma Rota Expressa ou uma conexão VPN.
- Utilize uma conexão de ponto de extremidade privado.
Criar uma máquina virtual na mesma rede virtual que o cluster AKS é a opção mais fácil. A Rota Expressa e as VPNs adicionam custos e exigem complexidade de rede adicional. O emparelhamento de rede virtual requer que você planeje seus intervalos CIDR de rede para garantir que não haja intervalos sobrepostos. Consulte Opções para se conectar ao cluster privado para obter mais informações.
Para gerenciar um cluster Kubernetes, use o cliente de linha de comando Kubernetes, kubectl.
kubectl já está instalado se você usar o Azure Cloud Shell. Para instalar kubectl localmente, execute o comando az aks install-cli . Os clusters automáticos AKS são configurados com o Microsoft Entra ID para controle de acesso baseado em função (RBAC) do Kubernetes.
Importante
Ao criar um cluster usando o Bicep, você precisa atribuir uma das funções internas , como Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writer, Azure Kubernetes Service RBAC Admin, ou Azure Kubernetes Service RBAC Cluster Admin aos seus usuários, com escopo para o cluster ou um namespace específico, por exemplo, usando az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.com. Certifique-se também de que os seus utilizadores tenham a Azure Kubernetes Service Cluster User função interna para poder executar az aks get-credentials e, em seguida, obtenham o kubeconfig do cluster AKS usando o comando az aks get-credentials.
Configure kubectl para se conectar ao cluster Kubernetes usando o comando az aks get-credentials. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Verifique a conexão com seu cluster usando o comando kubectl get . Este comando retorna uma lista dos nós do cluster.
kubectl get nodes
A saída de exemplo a seguir mostra como você é solicitado a fazer login.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Depois de fazer login, a saída de exemplo a seguir mostra os pools de nós do sistema gerenciado. Verifique se o status do nó é Pronto.
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
Implantar o aplicativo
Para implantar o aplicativo, use um arquivo de manifesto para criar todos os objetos necessários para executar o aplicativo AKS Store. Um arquivo de manifesto do Kubernetes define o estado desejado de um cluster, como quais imagens de contêiner devem ser executadas. O manifesto inclui as seguintes implantações e serviços do Kubernetes:
- Vitrine: aplicativo Web para que os clientes visualizem produtos e façam pedidos.
- Serviço do produto: Mostra as informações do produto.
- Serviço de pedidos: Faz pedidos.
- Rabbit MQ: Fila de mensagens para processamento de pedidos.
Observação
Não recomendamos a execução de contentores com estado, como Rabbit MQ, sem armazenamento persistente para produção. Esses contêineres são usados aqui para simplificar, mas recomendamos o uso de serviços gerenciados, como o Azure Cosmos DB ou o Azure Service Bus.
Crie um namespace
aks-store-demopara implantar os recursos do Kubernetes.kubectl create ns aks-store-demoImplante o aplicativo usando o comando kubectl apply no
aks-store-demonamespace. O arquivo YAML que define a implantação está no GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yamlO exemplo seguinte mostra as implementações e os serviços:
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
Testar a aplicação
Quando o aplicativo é executado, um serviço Kubernetes expõe o front-end do aplicativo à Internet. Este processo pode demorar alguns minutos a concluir.
Verifique o status dos pods implantados usando o comando kubectl get pods . Certifique-se de que todos os pods estejam
Runningantes de prosseguir. Se esta for a primeira tarefa que você implanta, pode levar alguns minutos para que o provisionamento automático de nós crie um cluster de nós para executar os pods.kubectl get pods -n aks-store-demoVerifique se há um endereço IP público para a aplicação de loja. Monitore o progresso utilizando o comando kubectl get service com o argumento
--watch.kubectl get ingress store-front -n aks-store-demo --watchA saída ADDRESS para o
store-frontserviço inicialmente mostra vazio:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mQuando o ENDEREÇO mudar de um estado em branco para um endereço IP público real, use
CTRL-Cpara parar o processo dekubectlmonitorização.A saída de exemplo a seguir mostra um endereço IP público válido atribuído ao serviço:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12mAbra um navegador da Web e aceda ao endereço IP externo do seu ingresso para ver o Azure Store em ação.
Eliminar o cluster
Se você não planeja passar pelo tutorial do AKS, limpe recursos desnecessários para evitar cobranças do Azure. Execute o comando az group delete para remover o grupo de recursos, o serviço de contêiner e todos os recursos relacionados.
az group delete --name <resource-group> --yes --no-wait
Observação
O cluster AKS foi criado com uma identidade gerenciada atribuída pelo usuário. Se já não precisar dessa identidade, pode removê-la manualmente.
Próximos passos
Neste início rápido, você implantou um cluster Kubernetes privado usando o AKS Automatic dentro de uma rede virtual personalizada e, em seguida, implantou um aplicativo simples de vários contêineres nele. Este aplicativo de exemplo é apenas para fins de demonstração e não representa todas as práticas recomendadas para aplicativos Kubernetes. Para obter orientação sobre como criar soluções completas com o AKS para produção, consulte Orientação de solução AKS.
Para saber mais sobre o AKS Automatic, continue para a introdução.