Exercício - Implantar um aplicativo do Linux e do Windows de exemplo no cluster do AKS Edge Essentials
Neste exercício, implantamos um aplicativo Linux e Windows em contêineres no cluster do AKS Edge Essentials.
Verificar a implantação do AKS Edge Essentials
Observação
Os comandos a seguir são executados na linha de comando do PowerShell da VM.
Confirme se a implantação foi bem-sucedida executando o seguinte comando:
kubectl get nodes -o wide kubectl get pods -A -o wide
A captura de tela de exemplo a seguir mostra que os nós do Linux e Windows estão prontos e os pods estão em execução:
Implantar um aplicativo Linux
Implante um aplicativo de exemplo que é um aplicativo de votação simples, consistindo em um front-end e back-end, que é baseado na imagem azure-vote-front da Microsoft. A imagem de contêiner para este aplicativo é hospedada no (ACR) Registro de Contêiner do Azure. Consulte linux-sample.yaml no pacote de repositório do GitHub, para obter um manifesto de implantação. No YAML, especificamos uma marca nodeSelector
como Linux.
Para implantar o aplicativo, use o comando kubectl apply. Esse comando analisa o arquivo de manifesto e cria objetos Kubernetes definidos. Especifique o arquivo de manifesto YAML, conforme mostrado no exemplo a seguir:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Aguarde alguns minutos para que os pods estejam no estado de execução:
kubectl get pods -o wide
A saída de exemplo a seguir mostra que os pods de aplicativo estão em execução:
PS C:\Users\azureuser> kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES azure-vote-back-66c88ccc8-fjwfq 1/1 Running 0 46s 10.42.0.6 myvm-ledge <none> <none> azure-vote-front-85dc674b97-xp8d8 1/1 Running 0 46s 10.42.0.7 myvm-ledge <none> <none>
Para monitorar o progresso, use o comando kubectl get services com o parâmetro
--watch
:kubectl get services --watch
Inicialmente, o
EXTERNAL-IP
do serviçoazure-vote-front
é mostrado comopending
. Quando o endereçoEXTERNAL-IP
muda depending
para um endereço IP público real, você pode usar o endereço IP atribuído ao serviço.PS C:\Users\azureuser> kubectl get services --watch NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-vote-back ClusterIP 10.43.208.68 <none> 6379/TCP 4m52s azure-vote-front LoadBalancer 10.43.125.83 192.168.0.4 80:31032/TCP 4m52s kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 16m
Para parar a inspeção, pressione CTRL + C.
Para exibir o aplicativo, abra um navegador e navegue até o endereço IP e a porta atribuídos ao serviço
azure-vote-front
. No exemplo anterior, o endereço IP e a porta atribuídos ao serviço são 192.168.0.4:31032.
Implantar um aplicativo do Windows
Implante um aplicativo ASP.NET Core de exemplo com base na imagem de exemplo da Microsoft. Consulte win-sample-aspnetcore.yaml no pacote de repositório do GitHub, para obter um manifesto de implantação. No YAML, especificamos uma marca nodeSelector
como Linux.
Use o comando kubectl apply para implantar o aplicativo:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample-aspnetcore.yaml
Aguarde alguns minutos para que o pod esteja no estado de execução:
kubectl get pods -o wide
A saída de exemplo a seguir mostra que o pod
sample-aspnetcore-786fb44bb-k449c
de aplicativo está em execução:PS C:\Users\azureuser> kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES azure-vote-back-66c88ccc8-fjwfq 1/1 Running 0 8m 10.42.0.6 myvm-ledge <none> <none> azure-vote-front-85dc674b97-xp8d8 1/1 Running 0 8m 10.42.0.7 myvm-ledge <none> <none> sample-aspnetcore-786fb44bb-k449c 1/1 Running 0 2m56s 10.42.1.3 myvm-wedge <none> <none>
Verifique se o serviço de exemplo está em execução:
kubectl get services
Em seguida, anote
PORT
do serviçosample-aspnetcore
. Neste exemplo, é 31767.PS C:\Users\azureuser> kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-vote-back ClusterIP 10.43.208.68 <none> 6379/TCP 10m52s azure-vote-front LoadBalancer 10.43.125.83 192.168.0.4 80:31032/TCP 10m52s kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 26m sample-aspnetcore NodePort 10.43.237.30 <none> 8080:31767/TCP 6m40s
Recupere o endereço IP do nó Kubernetes no qual o aplicativo está sendo executado para anexar a porta do NodePort:
Get-AksEdgeNodeAddr -NodeType Windows
PS C:\Users\azureuser> Get-AksEdgeNodeAddr -NodeType Windows [01/16/2024 14:44:22] Querying IP and MAC addresses from virtual machine (myvm-wedge) - Virtual machine MAC: 00:15:5d:02:7c:eb - Virtual machine IP : 192.168.0.3 retrieved directly from virtual machine Name Value ---- ----- IpAddress 192.168.0.3 MacAddress 00:15:5d:02:7c:eb
Para exibir o aplicativo, abra um navegador e navegue até o endereço IP e a porta atribuídos ao serviço
sample-aspnetcore
. No exemplo anterior, o endereço IP e a porta atribuídos ao serviço são 192.168.0.3:31767.