Compartilhar via


Iniciar e interromper um cluster do AKS (Serviço de Kubernetes do Azure)

Talvez você não precise executar continuamente suas cargas de trabalho do AKS (Serviço de Kubernetes do Azure). Por exemplo, você pode ter um cluster de desenvolvimento que só usa durante o horário comercial. Isso significa que há momentos em que seu cluster pode estar ocioso, executando apenas os componentes do sistema. Você pode reduzir o volume do cluster colocando todos os pools de nós User em escala 0, mas seu System pool ainda é necessário para executar os componentes do sistema enquanto o cluster está em execução.

Para otimizar melhor os custos durante esses períodos, você pode desativar ou interromper seu cluster. Essa ação interrompe o painel de controle e os nós de agente, permitindo que você economize em todos os custos de computação e ainda mantenha todos os objetos, exceto os pods autônomos. O estado do cluster é armazenado para quando você o inicia novamente, permitindo que você continue de onde parou.

Cuidado

Parar o cluster desaloca o painel de controle e libera a capacidade. Em regiões que estão enfrentando restrições de capacidade, os clientes podem ser incapazes de iniciar um cluster que esteja parado. Não recomendamos interromper cargas de trabalho críticas por esse motivo.

Observação

As operações de início do AKS restaurarão todos os objetos do ETCD, com exceção de pods autônomos com os mesmos nomes e idades. o que significa que a idade de um pod continuará a ser calculada a partir de seu tempo de criação original. Essa contagem continuará aumentando ao longo do tempo, independentemente de o cluster estar ou não em um estado interrompido.

Antes de começar

Este artigo pressupõe que você tenha um cluster do AKS. Se você precisar de um cluster do AKS, crie um usando a CLI do Azure, o Azure PowerShell ou o portal do Azure.

Sobre o recurso de interrupção/início do cluster

Ao usar o recurso de interrupção/início do cluster, as seguintes condições se aplicam:

  • Este recurso é compatível apenas com clusters com suporte do Conjunto de Dimensionamento de Máquinas Virtuais.
  • Você não pode parar os clusters que usam o recurso Provisionamento Automático de Nós (NAP).
  • O estado de um cluster do AKS interrompido é preservado por até 12 meses. Se o cluster ficar interrompido por mais de 12 meses, o estado dele não poderá ser recuperado. Para obter mais informações, confira as Políticas de suporte do AKS.
  • Você só pode executar operações de inicialização ou exclusão em um cluster do AKS parado. Para executar outras operações, como colocação em escala ou atualização, você precisa iniciar o cluster primeiro.
  • Se você provisionou os PrivateEndpoints vinculados aos clusters privados, eles precisam ser excluídos e recriados novamente quando ao iniciar um cluster AKS interrompido.
  • Como o processo de parada esvazia todos os nós, todos os pods autônomos (ou seja, os pods não gerenciados por uma Implantação, StatefulSet, DaemonSet, Trabalho etc.) serão excluídos.
  • Quando você inicia o back-up do cluster, o seguinte comportamento é esperado:
    • O endereço IP do servidor de API pode mudar.
    • Se você estiver usando o dimensionador automático de escala do cluster, ao iniciar o cluster, a contagem de nós atual poderá não estar entre os valores do intervalo de mínimo e máximo definidos por você. O cluster é iniciado com o número de nós necessários para executar suas cargas de trabalho, o que não é afetado pelas configurações do dimensionador automático de escala. Quando o cluster executa operações de dimensionamento, os valores mínimo e máximo afetam a contagem de nós atual e o cluster, eventualmente, entra e permanece nesse intervalo desejado até que você pare o cluster.

Interromper um cluster do AKS

  1. Use o comando az aks stop para interromper um cluster do AKS em execução, incluindo os nós e o painel de controle. O seguinte exemplo interrompe um cluster chamado myAKSCluster:

    az aks stop --name myAKSCluster --resource-group myResourceGroup
    
  2. Verifique se o cluster parou de usar o comando az aks show e confirme se o powerState é mostrado como Stopped.

    az aks show --name myAKSCluster --resource-group myResourceGroup
    

    Seu resultado deve ser semelhante ao seguinte exemplo de saída condensado:

    {
    [...]
      "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
      "powerState":{
        "code":"Stopped"
      },
      "privateFqdn": null,
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
    [...]
    }
    

    Se provisioningState mostra Stopping, o cluster ainda não foi totalmente interrompido.

Importante

Se você estiver usando orçamentos de interrupção de pod, a operação de interrupção poderá demorar mais, uma vez que o processo de levará mais tempo para ser concluído.

Iniciar um cluster do AKS

Cuidado

Depois de utilizar o recurso de início/parada no AKS, é essencial aguardar de 15 a 30 minutos antes de reiniciar o cluster do AKS. Esse período de espera é necessário porque leva vários minutos para os serviços relevantes pararem totalmente. A tentativa de reiniciar o cluster durante esse processo pode interromper o processo de desligamento e potencialmente causar problemas com o cluster ou suas cargas de trabalho.

  1. Use o comando az aks start para iniciar um cluster do AKS interrompido. O cluster é reiniciado com o estado anterior do painel de controle e do número de nós do agente. O seguinte exemplo inicia um cluster chamado myAKSCluster:

    az aks start --name myAKSCluster --resource-group myResourceGroup
    
  2. Verifique se o cluster começou a usar o comando az aks show e confirme se powerState mostra Running.

    az aks show --name myAKSCluster --resource-group myResourceGroup
    

    Seu resultado deve ser semelhante ao seguinte exemplo de saída condensado:

    {
    [...]
      "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
      "powerState":{
        "code":"Running"
     },
     "privateFqdn": null,
     "provisioningState": "Succeeded",
     "resourceGroup": "myResourceGroup",
    [...]
    }
    

    Se provisioningState mostra Starting, o cluster ainda não foi totalmente iniciado.

Próximas etapas