Solucionar problemas do código de erro SubnetIsFull
Este artigo discute como identificar e resolver o SubnetIsFull
erro que ocorre quando você tenta dimensionar um cluster do AKS (Serviço de Kubernetes do Microsoft Azure).
Pré-requisitos
- CLI do Azure (versão 2.0.59 ou posterior)
Sintomas
Ao tentar dimensionar um cluster do AKS, você recebe a seguinte mensagem de erro:
"código": "SubnetIsFull"
"message": "O nome da sub-rede da sub-rede <com prefixo <de endereço prefixo de> sub-rede não tem capacidade suficiente para <endereços IP new-ip-count>.">
Motivo
Para adicionar nós a um cluster do AKS (escalando horizontalmente), você precisa usar mais endereços IP da sub-rede na qual o pool de nós está 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, consulte 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 broadcast. Para saber mais, confira Existem restrições quanto ao uso de endereços IP nessas sub-redes?
Solução
No momento, não há suporte para tentar atualizar o espaço de endereço CIDR (Roteamento entre Domínios 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:
Crie uma sub-rede na rede virtual do cluster que contenha um intervalo de endereços CIDR maior do que a sub-rede existente. Para obter informações sobre como dimensionar adequadamente a sub-rede do cluster, consulte Planejar o endereçamento IP do cluster.
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.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 um nó com segurança.
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.