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.
Este artigo mostra como configurar e gerenciar a Política de Interrupção de Nó para controlar quando as operações que exigem a reimagem do nó e disparam a reimplantação de nós são permitidas em seu cluster AKS (Serviço de Kubernetes do Azure).
Pré-requisitos
- Examine a visão geral da Política de Interrupção do Nó para saber como funciona a Política de Interrupção do Nó e as operações cobertas pela Política de Interrupção do Nó.
- CLI do Azure versão 2.76.0 ou posterior instalada e configurada. Para localizar a versão da CLI, execute o
az --versioncomando. Se precisar instalar ou atualizar, consulte Instalar CLI do Azure. - Um cluster do AKS existente ou você pode criar um novo com a Política de Interrupção do Nó configurada.
-
Instale a
aks-previewextensão da CLI do Azure e registre o recurso de versão prévia da Política de Interrupção do Nó.
Importante
As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:
Instalar a extensão aks-preview CLI do Azure
Instale a extensão
aks-previewusando o comandoaz extension add.az extension add --name aks-previewAtualize para a última versão da extensão usando o comando
az extension update.az extension update --name aks-preview
Registrar o recurso de visualização da Política de Interrupção do Nó
Registre o recurso de versão prévia da Política de Interrupção do Nó usando o comando az feature register.
az feature register --namespace "Microsoft. ContainerService" --name "NodeDisruptionProfile"
Leva alguns minutos para que o status seja mostrado como Registrado.
Configurar a política de interrupção de nós em um cluster novo
Crie um novo cluster do AKS com a política de interrupção de nós configurada usando o comando az aks create com o parâmetro --node-disruption-policy definido como uma das seguintes configurações de política: Allow (padrão), AllowDuringMaintenanceWindow ou Block.
Permitir operações de interrupção a qualquer momento (padrão)
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy Allow \
--generate-ssh-keys
Permitir operações de interrupção somente durante janelas de manutenção
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy AllowDuringMaintenanceWindow \
--generate-ssh-keys
Importante
Ao usar AllowDuringMaintenanceWindow, certifique-se de configurar uma aksManagedNodeOSUpgradeSchedule janela de manutenção. Caso contrário, as operações de interrupção são permitidas indefinidamente. Para obter mais informações, consulte Usar a manutenção planejada para agendar e controlar atualizações para o cluster Serviço de Kubernetes do Azure.
Bloquear todas as operações disruptivas
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy Block \
--generate-ssh-keys
Atualizar a Política de Interrupção de Nó em um cluster existente
Atualize a Política de Interrupção do Nó em um cluster AKS existente usando o comando az aks update com o parâmetro --node-disruption-policy definido com uma das seguintes configurações de política: Allow (padrão), AllowDuringMaintenanceWindow ou Block.
Alterar a política para permitir operações durante as janelas de manutenção
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy AllowDuringMaintenanceWindow
Alterar a política para bloquear todas as operações perturbadoras
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy Block
Alterar a política novamente para permitir operações a qualquer hora
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy Allow
Verificar a configuração da política de interrupção do nó
Verifique a configuração da Política de Interrupção do Nó usando o az aks show comando.
az aks show \
--resource-group myResourceGroup \
--name myAKSCluster \
--query "nodeDisruptionProfile.nodeDisruptionPolicy" \
--output tsv
A saída mostra a configuração de política atual, como Allow, AllowDuringMaintenanceWindowou Block.
Lidar com operações bloqueadas
Quando a Política de Interrupção do Nó bloqueia uma operação de interrupção, você pode aguardar a janela de manutenção ou alterar temporariamente a política.
Aguarde a janela de manutenção
Se você estiver usando AllowDuringMaintenanceWindow, agende a operação para ocorrer durante a próxima janela de manutenção. Você pode exibir as janelas de manutenção configuradas usando o az aks maintenanceconfiguration list comando.
az aks maintenanceconfiguration list \
--resource-group myResourceGroup \
--cluster-name myAKSCluster
Alterar temporariamente a política
Atualize a política para
Allowusando o comandoaz aks updatecom--node-disruption-policydefinido comoAllow.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-disruption-policy AllowExecute sua operação disruptiva. O exemplo a seguir atualiza os certificados de AC personalizados usando o
az aks updatecomando:az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --custom-ca-trust-certificates <path-to-certificate-file>Restaure a política original usando o
az aks updatecomando. O exemplo a seguir restaura--node-disruption-policyparaBlock:az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-disruption-policy Block
Operações que exigem atualização manual do pool de nós
Algumas operações que a Política de interrupção de nós não controla exigem uma atualização manual do pool de nós após alterações de configuração. Essas operações incluem:
- Alterações na configuração do SSH, como alterar métodos de acesso SSH ou atualizar chaves públicas SSH.
- Alterações de restrição do IMDS, como habilitar ou desabilitar a restrição do IMDS.
- Mudanças no nome do ACR do perfil bootstrap para clusters com isolamento de rede.
- Alterações de tipo de saída, como a alteração do roteamento de saída do cluster.
Para essas operações, você deve executar manualmente o az aks nodepool upgrade comando depois de fazer a alteração de configuração. Por exemplo:
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name <nodepool-name> \
--node-image-only
Para obter mais informações sobre as operações cobertas pela Política de Interrupção do Nó, consulte a visão geral da Política de Interrupção do Nó.
Solucionar problemas da Política de Interrupção do Nó
Operação bloqueada inesperadamente
Se uma operação for bloqueada inesperadamente, use as seguintes etapas para solucionar o problema:
Verifique a configuração de política atual usando o
az aks showcomando.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query "nodeDisruptionProfile.nodeDisruptionPolicy" \ --output tsvSe você estiver usando
AllowDuringMaintenanceWindow, verifique a configuração da janela de manutenção usando oaz aks maintenanceconfiguration showcomando.az aks maintenanceconfiguration show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name aksManagedNodeOSUpgradeScheduleVerifique se a hora atual está dentro da janela de manutenção.
Nenhuma janela de manutenção configurada
Se você definir a política como AllowDuringMaintenanceWindow , mas não configurar uma janela de manutenção, todas as operações de interrupção serão permitidas.
Configure uma janela de manutenção usando o az aks maintenanceconfiguration add comando.
az aks maintenanceconfiguration add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name aksManagedNodeOSUpgradeSchedule \
--schedule-type Weekly \
--day-of-week Sunday \
--interval-weeks 1 \
--duration 4 \
--start-hour 2