(PRECADO) Executar aplicações em Kubernetes
Dica
Para a versão atualizada este tutorial que utiliza Azure Kubernetes Service, consulte Tutorial: Executar aplicações em Azure Kubernetes Service (AKS).
Aviso
O Serviço de Contentores Azure (ACS) está a ser depreciado. Não estão a ser adicionadas novas funcionalidades ou funcionalidades ao ACS. Todas as APIs, experiência do portal, comandos CLI e documentação são marcados como precedidos.
Em 2017, introduzimos Azure Kubernetes Service (AKS) para simplificar a gestão, implantação e operações da Kubernetes. Se utilizar o orquestrador Kubernetes, por favor, emigre para a AKS até 31 de janeiro de 2020. Para começar, consulte migrar para Azure Kubernetes Service.
Para mais informações, consulte o anúncio de depreciação do Serviço de Contentores Azure no Azure.com.
Neste tutorial, parte quatro de sete, a aplicação de exemplo é implementada num cluster do Kubernetes. Os passos concluídos incluem:
- Atualizar ficheiros de manifesto Kubernetes
- Executar uma aplicação no Kubernetes
- Testar a aplicação
Nos tutoriais subsequentes, esta aplicação é aumentada horizontalmente, atualizada e o Log Analytics é configurado para monitorizar o cluster de Kubernetes.
Este tutorial pressupõe um conhecimento básico dos conceitos do Kubernetes. Para obter informações detalhadas sobre o Kubernetes, veja a documentação do Kubernetes.
Antes de começar
Nos tutoriais anteriores, foi compactada uma aplicação numa imagem de contentor, a imagem foi carregada para o Azure Container Registry e foi criado um cluster de Kubernetes.
Para concluir este tutorial, precisa do ficheiro de manifesto previamente criado do Kubernetes azure-vote-all-in-one-redis.yml
. Este ficheiro foi transferido com o código de origem da aplicação num tutorial anterior. Certifique-se de que tem um clone do repositório e que foram alterados diretórios no repositório clonado.
Se ainda não concluiu estes passos e pretende acompanhar, regresse ao Tutorial 1 – Criar imagens de contentor.
Atualizar ficheiro de manifesto
Neste tutorial, o Azure Container Registry (ACR) serviu para armazenar uma imagem de contentor. Antes de executar a aplicação, o nome de servidor de início de sessão ACR tem de ser atualizado no ficheiro de manifesto Kubernetes.
Obtenha o nome do servidor de início de sessão ACR com o comando az acr list.
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
O ficheiro de manifesto foi previamente criado com um nome de servidor de início de sessão de microsoft
. Abra o ficheiro com qualquer editor de texto. Neste exemplo, o ficheiro está aberto com vi
.
vi azure-vote-all-in-one-redis.yml
Substitua microsoft
pelo nome do servidor de início de sessão do ACR. Este valor foi encontrado na linha 47 do ficheiro de manifesto.
containers:
- name: azure-vote-front
image: microsoft/azure-vote-front:v1
Guarde e feche o ficheiro.
Implementar aplicação
Utilize o comando kubectl create para executar a aplicação. Este comando analisa o ficheiro de manifesto e cria os objetos de Kubernetes definidos.
kubectl create -f azure-vote-all-in-one-redis.yml
Resultado:
deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created
Testar aplicação
O serviço do Kubernetes é criado, o que expõe a aplicação na Internet. Este processo pode demorar alguns minutos.
Para monitorizar o progresso, utilize o comando kubectl get service com o argumento --watch
.
kubectl get service azure-vote-front --watch
Inicialmente, o EXTERNAL-IP do serviço azure-vote-front
aparece como pending
. Quando o endereço EXTERNAL-IP mudar de pending
para IP address
, utilize CTRL-C
para parar o processo de observação do kubectl.
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front 10.0.42.158 <pending> 80:31873/TCP 1m
azure-vote-front 10.0.42.158 52.179.23.131 80:31873/TCP 2m
Para ver a aplicação, navegue para o endereço IP externo.
Passos seguintes
Neste tutorial, a aplicação do Azure vote foi implementada num cluster de Kubernetes do Azure Container Service. As tarefas concluídas incluem:
- Transferir ficheiros de manifesto Kubernetes
- Executar a aplicação no Kubernetes
- Testou a aplicação
Avance para o próximo tutorial para saber mais sobre o dimensionamento de uma aplicação Kubernetes e a infraestrutura de Kubernetes subjacente.