Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O AKS (Serviço de Kubernetes do Azure) é um serviço de Kubernetes gerenciado que permite implantar e gerenciar clusters rapidamente. Neste início rápido, você aprenderá a:
- Fazer download e instalar o Azure Developer CLI (
azd). - Clonar aplicativos de um modelo do Azure Developer CLI (
azdmodelo). - Implantar um cluster do AKS usando o Azure Developer CLI (
azd). - Executar um aplicativo de vários contêineres de exemplo com um grupo de microsserviços que simula um aplicativo de varejo.
- Exclua e limpe os contêineres feitos do modelo
azd.
Observação
Para começar a provisionar rapidamente um cluster do AKS, este artigo inclui etapas para implantar um cluster com configurações padrão somente para fins de avaliação. Antes de implantar um cluster pronto para produção, recomendamos que você se familiarize com nossa arquitetura de referência de linha de base para considerar como ele se alinha aos seus requisitos de negócios.
Antes de começar
Este guia de início rápido pressupõe uma compreensão básica dos conceitos do Kubernetes. Para obter mais informações, confira Principais conceitos do Kubernetes para o AKS (Serviço de Kubernetes do Azure).
-
Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Para facilitar o uso, execute este exemplo no Bash ou no PowerShell no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Azure Cloud Shell.
Para usar
azdlocalmente, instale a versão 1.6.1 ou posterior do Azure Developer CLI.- Caso esteja usando o Azure Cloud Shell, a versão mais recente de
azd, já estará instalada.
- Caso esteja usando o Azure Cloud Shell, a versão mais recente de
Examinar o código do aplicativo
Examine o código do aplicativo no repositório GitHub Azure-Samples/aks-store-demo.
O aplicativo de início rápido inclui as seguintes implantações e serviços do Kubernetes:
- Frente de loja: Aplicativo Web para clientes visualizarem produtos e fazerem pedidos.
- Serviço do produto: Mostra informações do produto.
- Serviço de pedido: Realiza pedidos.
- Rabbit MQ: Fila de mensagens de uma fila de pedidos.
Observação
Não recomendamos a execução de contêineres com estado, como o Rabbit MQ, sem armazenamento persistente para uso em produção. Esses são usados aqui para simplificar, mas recomendamos o uso de serviços gerenciados, como o Azure Cosmos DB ou o Barramento de Serviço do Azure.
Clonar o modelo do Azure Developer CLI
Clone o modelo de demonstração do armazenamento do AKS do repositório Azure-Samples, usando o comando
azd initcom o parâmetro--template.azd init --template Azure-Samples/aks-store-demoInsira um nome de ambiente para seu projeto que usa apenas caracteres alfanuméricos e hifens, como aks-azdqs-1.
Enter a new environment name: aks-azdqs-1
Entre na sua conta do Azure Cloud
O modelo azd contém todo o código necessário para criar os serviços, mas é necessário entrar em sua conta do Azure para hospedar o aplicativo no AKS.
Entre em sua conta usando o comando
azd auth login.azd auth loginCopie o código do dispositivo que aparece na saída e pressione Enter para entrar.
Start by copying the next code: XXXXXXXXX Then press enter and continue to log in from your browser...Importante
Caso esteja usando uma máquina virtual fora da rede ou o Codespace do GitHub, determinadas políticas de segurança do Azure causarão conflitos quando usadas para entrar com
azd auth login. Caso encontre um problema aqui, poderá seguir a solução alternativa de autenticação da azd fornecida abaixo, que envolve o uso de uma solicitaçãocurlpara a URL do localhost para a qual você foi redirecionado após a execução de [azd auth login][az-auth-login].Autentique-se com suas credenciais na página de entrada da sua organização.
Confirme se você está tentando se conectar por meio da CLI do Azure.
Verifique a mensagem "Autenticação de código do dispositivo concluída. Conectado ao Azure." aparece no seu terminal original.
Waiting for you to complete authentication in the browser... Device code authentication completed. Logged in to Azure.
solução alternativa de autenticação do azd
Esta solução alternativa exige que você tenha a CLI do Azure instalada.
Abra uma janela de terminal e faça logon com a CLI do Azure usando o comando
az logincom o parâmetro--scopedefinido comohttps://graph.microsoft.com/.default.az login --scope https://graph.microsoft.com/.defaultVocê deverá ser redirecionado para uma página de autenticação em uma nova guia para criar um token de acesso do navegador, conforme mostrado no exemplo a seguir:
https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?clientid=<your_client_id>.Copie o URL do localhost da página da Web que você recebeu depois de tentar entrar com
azd auth login.Em uma nova janela de terminal, use a solicitação
curla seguir para fazer logon. Substitua o espaço reservado<localhost>pelo URL do localhost copiado na etapa anterior.curl <localhost>Um logon bem-sucedido gera uma página da Web HTML, conforme mostrado no exemplo a seguir:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="refresh" content="60;url=https://docs.microsoft.com/cli/azure/"> <title>Login successfully</title> <style> body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } code { font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; display: inline-block; background-color: rgb(242, 242, 242); padding: 12px 16px; margin: 8px 0px; } </style> </head> <body> <h3>You have logged into Microsoft Azure!</h3> <p>You can close this window, or we will redirect you to the <a href="https://docs.microsoft.com/cli/azure/">Azure CLI documentation</a> in 1 minute.</p> <h3>Announcements</h3> <p>[Windows only] Azure CLI is collecting feedback on using the <a href="https://learn.microsoft.com/windows/uwp/security/web-account-manager">Web Account Manager</a> (WAM) broker for the login experience.</p> <p>You may opt-in to use WAM by running the following commands:</p> <code> az config set core.allow_broker=true<br> az account clear<br> az login </code> </body> </html>Feche o terminal atual e abra o terminal original. Você deverá ver uma lista JSON de suas assinaturas.
Copie o campo
idda assinatura que você deseja usar.Defina a assinatura usando o comando
az account set.az account set --subscription <subscription_id>
Criar e implantar recursos para o cluster
azd executa todos os ganchos dentro da azd-hooks pasta para pré-registro, provisionar e implantar os serviços de aplicativo.
O modelo azd para este início rápido cria um novo grupo de recursos com um cluster do AKS e um cofre de chaves do Azure. O cofre de chaves armazena segredos do cliente e executa os serviços no namespace pets
Crie todos os recursos do aplicativo usando o comando
azd up.azd upSelecione uma assinatura do Azure para seu uso de cobrança.
? Select an Azure Subscription to use: [Use arrows to move, type to filter] > 1. My Azure Subscription (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)Selecione uma região para a qual implantar seu aplicativo.
Select an Azure location to use: [Use arrows to move, type to filter] 1. (South America) Brazil Southeast (brazilsoutheast) 2. (US) Central US (centralus) 3. (US) East US (eastus) > 43. (US) East US 2 (eastus2) 4. (US) East US STG (eastusstg) 5. (US) North Central US (northcentralus) 6. (US) South Central US (southcentralus)azdexecuta automaticamente os comandos de pré-provisionamento e pós-provisionamento, para criar os recursos para o aplicativo. A conclusão desse processo pode levar alguns minutos. Após a conclusão, você deverá visualizar uma saída semelhante ao seguinte exemplo:SUCCESS: Your workflow to provision and deploy to Azure completed in 9 minutes 40 seconds.
Testar o aplicativo
Quando o aplicativo é executado, um serviço de Kubernetes expõe o front-end do aplicativo à Internet. A conclusão desse processo pode levar alguns minutos. Para gerenciar um cluster do Kubernetes, use o cliente de linha de comando do Kubernetes, kubectl.
kubectl já está instalado durante azd up.
Defina seu namespace como o namespace de demonstração
petsusando o comandokubectl set-context.kubectl config set-context --current --namespace=petsVerifique o status dos pods implantados usando o comando
kubectl get pods. Garanta que todos os pods estejamRunning, antes de continuar.kubectl get podsVerifique se há um endereço IP público para o aplicativo e monitore o progresso usando o comando
kubectl get servicecom o argumento--watch.kubectl get service store-front --watchA saída EXTERNAL-IP do serviço
store-frontserá mostrada inicialmente como pendente:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 <pending> 80:30025/TCP 4h4mQuando o endereço EXTERNAL-IP for alterado de pendente para um endereço IP público real, use
CTRL-Cpara interromper o processo de inspeção dokubectl.A seguinte saída de exemplo mostra um endereço de IP público válido atribuído ao serviço:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 20.62.159.19 80:30025/TCP 4h5mAbra um navegador da Web no endereço IP externo do serviço para conferir o aplicativo do Microsoft Azure Store em ação.
Excluir o cluster
Após concluir o início rápido, limpe os recursos desnecessários para evitar encargos do Azure.
Exclua todos os recursos criados no início rápido usando o comando
azd down.azd downConfirme sua decisão de remover todos os recursos usados de sua assinatura digitando
ye pressionandoEnter.? Total resources to delete: 14, are you sure you want to continue? (y/N)Permitir que a limpeza reutilize as variáveis de início rápido, se aplicável, digitando
ye pressionandoEnter.[Warning]: These resources have soft delete enabled allowing them to be recovered for a period or time after deletion. During this period, their names may not be reused. In the future, you can use the argument --purge to skip this confirmation. ? Would you like to permanently delete these resources instead, allowing their names to be reused? (y/N)Depois que os recursos forem excluídos, você deverá visualizar uma saída semelhante ao exemplo a seguir:
SUCCESS: Your application was removed from Azure in 14 minutes 30 seconds.
Observação
Este aplicativo de amostra foi criado para demonstrar e não representa todas as práticas recomendadas dos aplicativos do Kubernetes. Para obter diretrizes sobre como criar soluções completas com o AKS para produção, consulte Diretrizes sobre a solução AKS.
Próximas etapas
Neste início rápido, você implantou um cluster do Kubernetes e um simples aplicativo com vários contêineres. Esse aplicativo de exemplo é apenas para fins de demonstração e não representa todas as melhores práticas para aplicativos do Kubernetes. Para obter diretrizes sobre como criar soluções completas com o AKS para produção, consulte Diretrizes sobre a solução AKS.
Para saber mais sobre o AKS e percorrer um código completo de exemplo de implantação, prossiga para o tutorial de cluster do Kubernetes.