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ós para controlar quando as operações que exigem a recriação da imagem do nó e acionam a reimplementação do nó são permitidas em seu cluster do Serviço de Kubernetes do Azure (AKS).
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 AKS existente ou você pode criar um novo com a Política de Interrupção de Nós 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 versão preliminar da Política de Interrupção de Nós
Registre o recurso de versão preliminar da Política de Interrupção de Nós 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 novo cluster
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
Atualizar a Política de Interrupção de Nós em um cluster AKS existente usando o comando az aks update com o parâmetro --node-disruption-policy definido para 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 de Nós
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 no Kubernetes 1.36 ou versões anteriores
No Kubernetes 1.37 e versões posteriores, a Política de Interrupção de Nó abrange as seguintes alterações de configuração. No Kubernetes 1.36 e em versões anteriores, essas alterações exigem uma atualização manual do pool de nós:
- 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.
- Alterações no nome do ACR do perfil de Bootstrap para clusters isolados em rede.
- Alterações no tipo de saída, como a alteração do roteamento de saída do cluster.
No Kubernetes 1.36 e anterior, execute 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 de Nós
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