Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Se você seguiu os tutoriais anteriores, tem um cluster Kubernetes em funcionamento e um aplicativo Azure Store Front.
Neste tutorial, você dimensiona os pods no aplicativo, experimenta o dimensionamento automático do 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ê aprende a:
- Dimensione os nós do Kubernetes.
- Dimensione manualmente os pods do Kubernetes que executam seu aplicativo.
- Configure 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 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 quer acompanhar, comece com o Tutorial 1 - Preparar a inscrição para o AKS.
- Azure CLI
- Azure PowerShell
Este tutorial requer a CLI do Azure versão 2.34.1 ou posterior. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, consulte Install Azure CLI.
Dimensionar os pods manualmente
Visualize os pods em seu cluster usando o
kubectl getcomando.kubectl get podsA saída de exemplo a seguir mostra os pods que executam o aplicativo Azure Store Front:
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 implementação da vitrine usando o
kubectl scalecomando.kubectl scale --replicas=5 deployment.apps/store-frontVerifique se os pods adicionais foram criados usando o
kubectl get podscomando.kubectl get pods --selector app=store-frontA saída de exemplo a seguir mostra os pods adicionais que executam a aplicação Azure Store Front:
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
Pods de escala automática
Para usar o pod autoscaler horizontal, todos os contêineres devem ter solicitações e limites de CPU definidos, e os pods devem ter solicitações especificadas. Na implementação, o aks-store-quickstart contenedor front-end solicita 1m CPU com um limite de 1000m CPU.
Essas solicitações de recursos e limites são definidos para cada contêiner, conforme mostrado no seguinte exemplo condensado 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 autoscaler e os limites de recursos, conforme mostrado no seguinte arquivo
aks-store-quickstart-hpa.yamlde manifesto de exemplo condensado: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 autoscaler usando o
kubectl applycomando.kubectl apply -f aks-store-quickstart-hpa.yamlVerifique o status do autoscaler usando o
kubectl get hpacomando.kubectl get hpaApós alguns minutos, com carga mínima na aplicação Azure Store Front, o número de réplicas de pod diminui para três. Você pode usar
kubectl get podso comando novamente para ver os pods desnecessários sendo removidos.
Note
Você pode habilitar o complemento AKS baseado em Kubernetes Event-Driven Autoscaler (KEDA) para seu cluster para 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 Kubernetes Event-Driven Autoscaling (KEDA) (Visualização).
Dimensionar manualmente os nós do AKS
Se você criou seu cluster Kubernetes usando os comandos nos tutoriais anteriores, seu cluster tem dois nós. Se você quiser aumentar ou diminuir essa quantidade, você pode ajustar manualmente o número de nós.
O exemplo a seguir aumenta o número de nós para três no cluster do Kubernetes chamado myAKSCluster. O comando leva alguns minutos para ser concluído.
- Azure CLI
- Azure PowerShell
Dimensione os nós do cluster usando o
az aks scalecomando.az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3Quando o cluster for dimensionado com êxito, o seu resultado será semelhante ao resultado de exemplo a seguir.
"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 escalador automático de clusters com grupos de nós.
Próximos passos
Neste tutorial, você usou diferentes recursos de dimensionamento em seu cluster Kubernetes. Você aprendeu a:
- Dimensione manualmente os pods do Kubernetes que executam seu aplicativo.
- Configure pods de dimensionamento automático que executam o front-end do aplicativo.
- Redimensione manualmente os nodes do Kubernetes.
No próximo tutorial, você aprenderá como atualizar o Kubernetes em seu cluster AKS.
Azure Kubernetes Service