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.
Se seguiu os tutoriais anteriores, você tem um cluster do Kubernetes funcionando e um aplicativo front do Microsoft Azure Store.
Neste tutorial, você dimensiona os pods no aplicativo, tenta dimensionar automaticamente o pod e dimensiona o número de nós de VM do Azure para alterar a capacidade do cluster para hospedar cargas de trabalho. Você aprenderá como:
- Dimensionar os nós Kubernetes.
- Dimensionar pods Kubernetes manualmente que executam seu aplicativo.
- Configurar os pods de dimensionamento automático que executam o front-end do aplicativo.
Antes de começar
Em tutoriais anteriores, você empacotou um aplicativo em uma imagem de contêiner, carregou a imagem no Registro de Contêiner do Azure, criou um cluster do AKS, implantou um aplicativo e usou o Barramento de Serviço do Azure para reimplantar um aplicativo atualizado. Se você não concluiu essas etapas e deseja acompanhar este tutorial, comece com Tutorial 1: preparar um aplicativo para o AKS.
Este tutorial requer a CLI do Azure, versão 2.34.1 ou posterior. Execute az --version para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.
Dimensionar pods manualmente
Exiba os pods no cluster usando o comando
kubectl get.kubectl get podsA saída de exemplo a seguir mostra os pods que executam o aplicativo front do Microsoft Azure Store:
NAME READY STATUS RESTARTS AGE order-service-848767080-tf34m 1/1 Running 0 31m product-service-4019737227-2q2qz 1/1 Running 0 31m store-front-2606967446-2q2qz 1/1 Running 0 31mAltere manualmente o número de pods na implantação store-front usando o comando
kubectl scale.kubectl scale --replicas=5 deployment.apps/store-frontVerifique se os pods adicionais foram criados usando o comando
kubectl get pods.kubectl get pods --selector app=store-frontA saída de exemplo a seguir mostra os pods adicionais que executam o aplicativo Front da Microsoft Azure Store:
NAME READY STATUS RESTARTS AGE store-front-3309479140-2hfh0 1/1 Running 0 3m store-front-3309479140-bzt05 1/1 Running 0 3m store-front-3309479140-fvcvm 1/1 Running 0 3m store-front-3309479140-hrbf2 1/1 Running 0 15m store-front-3309479140-qphz8 1/1 Running 0 3m
Dimensionamento automático de pods
Para usar o dimensionador automático de pod horizontal, todos os contêineres devem ter solicitações e limites de CPU definidos, e os pods devem ter solicitações especificadas. Na implantação aks-store-quickstart, o contêiner de front-end solicita 1m CPU, com um limite de 1000m CPU.
Essas solicitações e os limites de recursos são definidos para cada contêiner conforme mostrado no seguinte exemplo condensado de YAML:
...
containers:
- name: store-front
image: ghcr.io/azure-samples/aks-store-demo/store-front:latest
ports:
- containerPort: 8080
name: store-front
...
resources:
requests:
cpu: 1m
...
limits:
cpu: 1000m
...
Dimensionamento automático de pods usando um arquivo de manifesto
Crie um arquivo de manifesto para definir o comportamento do dimensionador automático e os limites de recursos, conforme mostrado no seguinte arquivo de manifesto condensado de exemplo
aks-store-quickstart-hpa.yaml:apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: store-front-hpa spec: maxReplicas: 10 # define max replica count minReplicas: 3 # define min replica count scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: store-front metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 50Aplique o arquivo de manifesto do dimensionador automático usando o comando
kubectl apply.kubectl apply -f aks-store-quickstart-hpa.yamlVerifique a status do dimensionador automático usando o comando
kubectl get hpa.kubectl get hpaApós alguns minutos, com carga mínima no aplicativo Front da Microsoft Azure Store, o número de réplicas de pod diminui para três. Você pode usar o comando
kubectl get podsnovamente para conferir os pods desnecessários que estão sendo removidos.
Observação
Você pode habilitar o complemento AKS do KEDA (dimensionador automático baseado em eventos) baseado em Kubernetes para seu cluster impulsionar o dimensionamento com base no número de eventos que precisam ser processados. Para obter mais informações, consulte Habilitar o dimensionamento automático simplificado de aplicativos com o complemento KEDA (dimensionador automático baseado em eventos) do Kubernetes (versão prévia).
Dimensionar nós do AKS manualmente
Se você criou o cluster Kubernetes usando os comandos nos tutoriais anteriores, seu cluster tem dois nós. Se você quiser aumentar ou diminuir esse valor, poderá ajustar manualmente o número de nós.
O exemplo a seguir aumenta o número de nós para três no cluster Kubernetes chamado myAKSCluster. Esse comando leva alguns minutos para ser concluído.
Escale seus nós de cluster usando o comando
az aks scale.az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3Depois que o cluster for dimensionado com êxito, sua saída será semelhante à seguinte saída de exemplo:
"aadProfile": null, "addonProfiles": null, "agentPoolProfiles": [ { ... "count": 3, "mode": "System", "name": "nodepool1", "osDiskSizeGb": 128, "osDiskType": "Managed", "osType": "Linux", "ports": null, "vmSize": "Standard_DS2_v2", "vnetSubnetId": null ... } ... ]
Você também pode dimensionar automaticamente os nós em seu cluster. Para obter mais informações, consulte Usar o dimensionador automático de cluster com pools de nós.
Próximas etapas
Neste tutorial, você usou diferentes recursos de colocação em escala em seu cluster Kubernetes. Você aprendeu a:
- Dimensionar pods Kubernetes manualmente que executam seu aplicativo.
- Configurar os pods de dimensionamento automático que executam o front-end do aplicativo.
- Dimensionar manualmente os nós de Kubernetes.
No próximo tutorial, você aprenderá a atualizar o Kubernetes no cluster do AKS.
Azure Kubernetes Service