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.
O Serviço Kubernetes do Azure (AKS) é um serviço Kubernetes gerenciado que permite implantar e gerenciar clusters rapidamente. Neste guia de início rápido, você aprende a:
- Baixe e instale a CLI do Azure Developer (
azd). - Clone aplicativos de um modelo de CLI do Azure Developer (
azdmodelo). - Implante um cluster AKS usando a CLI do Azure Developer (
azd). - Execute 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 recipientes feitos a
azdpartir do modelo.
Nota
Para começar a provisionar rapidamente um cluster AKS, este artigo inclui etapas para implantar um cluster com configurações padrão apenas 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 ela se alinha aos seus requisitos de negócios.
Antes de começar
Este guia de introdução parte do princípio de que possui conhecimentos básicos dos conceitos do Kubernetes. Para obter mais informações, consulte Conceitos principais do Kubernetes para o Serviço Kubernetes do Azure (AKS).
-
Se 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 PowerShell no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para o Azure Cloud Shell.
Para usar
azdlocalmente, instale a versão 1.6.1 ou posterior da CLI do Azure Developer.- Se você estiver usando o Azure Cloud Shell, a versão mais recente do
azdjá está instalada.
- Se você estiver usando o Azure Cloud Shell, a versão mais recente do
Revise o código do aplicativo
Você pode revisar 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:
- 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 uma fila de pedidos.
Nota
Não recomendamos a execução de contêineres com monitoração de estado, como o Rabbit MQ, sem armazenamento persistente para uso em produção. Eles são usados aqui para simplificar, mas recomendamos usar serviços gerenciados, como o Azure Cosmos DB ou o Azure Service Bus.
Clone o modelo da CLI do Azure Developer
Clone o modelo de demonstração da loja AKS do repositório Azure-Samples usando o
azd initcomando com o--templateparâmetro.azd init --template Azure-Samples/aks-store-demoInsira um nome de ambiente para seu projeto que use apenas caracteres alfanuméricos e hífenes, como aks-azdqs-1.
Enter a new environment name: aks-azdqs-1
Iniciar sessão na sua conta do Azure Cloud
O azd modelo contém todo o código necessário para criar os serviços, mas você precisa entrar em sua conta do Azure para hospedar o aplicativo no AKS.
Inicie sessão na sua conta utilizando o
azd auth logincomando.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
Se você estiver usando uma máquina virtual fora da rede ou o GitHub Codespace, determinadas políticas de segurança do Azure causarão conflitos quando usadas para entrar com
azd auth logino . Se você tiver um problema aqui, você pode seguir a solução alternativa azd auth fornecida abaixo, que envolve o uso de umacurlsolicitação para a URL do host local para a qual você foi redirecionado depois de executar [azd auth login][az-auth-login].Autentique-se com as suas credenciais na página de início de sessão da sua organização.
Confirme se você está tentando se conectar a partir da CLI do Azure.
Verifique a mensagem "Autenticação do 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.
AZD Auth Solução alternativa
Esta solução alternativa requer que você tenha a CLI do Azure instalada.
Abra uma janela de terminal e faça logon com a CLI do Azure usando o
az logincomando com o--scopeparâmetro definido comohttps://graph.microsoft.com/.default.az login --scope https://graph.microsoft.com/.defaultVocê deve 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 localhost da página da Web que você recebeu depois de tentar entrar com
azd auth logino .Numa nova janela do terminal, utilize o seguinte
curlpedido para iniciar sessão. Certifique-se de substituir o espaço reservado<localhost>pelo URL do host local copiado na etapa anterior.curl <localhost>Um login 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ê verá uma lista JSON de suas assinaturas.
Copie o
idcampo da subscrição que pretende utilizar.Defina sua assinatura usando o
az account setcomando.az account set --subscription <subscription_id>
Criar e implantar recursos para seu cluster
azdExecuta todos os ganchos dentro da pastaazd-hooks aplicativo.
O azd modelo para este início rápido cria um novo grupo de recursos com um cluster AKS e um cofre de chaves do Azure. O cofre de chaves armazena segredos do cliente e executa os serviços no pets namespace
Crie todos os recursos do aplicativo usando o
azd upcomando.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 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 preprovisioning e postprovisioning para criar os recursos para seu aplicativo. Este processo pode demorar alguns minutos a concluir. Depois de concluído, você verá uma saída semelhante ao exemplo a seguir:SUCCESS: Your workflow to provision and deploy to Azure completed in 9 minutes 40 seconds.
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. Para gerenciar um cluster Kubernetes, use o cliente de linha de comando Kubernetes, kubectl.
kubectl já está instalado durante azd upo .
Defina seu namespace como o namespace
petsdemo usando okubectl set-contextcomando.kubectl config set-context --current --namespace=petsVerifique o status dos pods implantados usando o
kubectl get podscomando. Certifique-se de que todos os pods estãoRunningantes de prosseguir.kubectl get podsVerifique se há um endereço IP público para o aplicativo de vitrine e monitore o progresso usando o
kubectl get servicecomando com o--watchargumento.kubectl get service store-front --watchA saída EXTERNAL-IP para o
store-frontserviço inicialmente mostra 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 mudar de pendentemonitoramento.
A saída de exemplo a seguir mostra um endereço 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 seu serviço para ver o aplicativo da Loja Azure em ação.
Eliminar o cluster
Quando terminar o início rápido, limpe recursos desnecessários para evitar cobranças do Azure.
Exclua todos os recursos criados no início rápido usando o
azd downcomando.azd downConfirme sua decisão de remover todos os recursos usados da sua assinatura digitando
ye pressionandoEnter.? Total resources to delete: 14, are you sure you want to continue? (y/N)Permita limpar para reutilizar 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ê verá uma saída semelhante ao exemplo a seguir:
SUCCESS: Your application was removed from Azure in 14 minutes 30 seconds.
Nota
Este aplicativo de exemplo é 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.
Próximos passos
Neste início rápido, você implantou um cluster Kubernetes 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 e percorrer um exemplo completo de código para implantação, continue para o tutorial do cluster do Kubernetes.