Solucionar problemas do código de erro SubnetIsFull

Este artigo discute como identificar e resolve o SubnetIsFull erro que ocorre quando você tenta escalar um cluster do AKS (Microsoft Serviço de Kubernetes do Azure).

Pré-requisitos

Sintomas

Ao tentar escalar um cluster do AKS, você recebe a seguinte mensagem de erro:

"code": "SubnetIsFull"

"message": "O nome> da sub-rede <com o prefixo> de prefixo <de endereço não tem capacidade suficiente para <endereços IP de contagem> de ips novos".

Motivo

Para adicionar nós a um cluster do AKS (dimensionamento), você precisa usar mais endereços IP da sub-rede na qual o pool de nós é implantado. O número exato de novos endereços IP necessários para concluir com êxito uma operação de escala de cluster varia de acordo com o plug-in de rede que o cluster usa. Para obter informações sobre como os endereços IP são alocados em cada um desses modelos de rede, confira Conceitos de rede para aplicativos no AKS.

Observação

O Azure reserva cinco endereços IP por sub-rede. O primeiro endereço na sub-rede é para a ID de rede, seguido por três endereços que são usados internamente pelo Azure. O último endereço na sub-rede é reservado para pacotes de transmissão. Para obter mais informações, consulte Há restrições sobre o uso de endereços IP nessas sub-redes?

Solução

No momento, não há suporte para a atualização do espaço de endereço CIDR (roteamento de Inter-Domain sem classe) de uma sub-rede em um pool de nós existente. Para migrar suas cargas de trabalho para um novo pool de nós em uma sub-rede maior, siga estas etapas:

  1. Crie uma sub-rede na rede virtual do cluster que contém um intervalo de endereços CIDR maior do que a sub-rede existente. Para obter informações sobre como dimensionar adequadamente a sub-rede para seu cluster, consulte Planejar endereçamento IP para seu cluster.

  2. Crie um pool de nós na nova sub-rede executando o comando az aks nodepool add junto com o --vnet-subnet-id parâmetro.

  3. Migre suas cargas de trabalho para o novo pool de nós drenando os nós no pool de nós antigo. Para obter informações sobre como drenar com segurança os nós de trabalho do AKS, consulte Drenar com segurança um nó.

  4. Exclua o pool de nós original executando o comando az aks nodepool delete .

Mais informações

Aviso de isenção de responsabilidade para contatos de terceiros

A Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar informações adicionais sobre esse tópico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão das informações de contato de terceiros.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.