Nesta página, descrevemos os insights do Network Analyzer sobre a utilização de endereços IP do Google Kubernetes Engine (GKE). Para informações sobre todos os tipos de insight, consulte Grupos e tipos de insight.
Ver insights na API Recommender
Para ver esses insights na CLI gcloud ou na API Recommender, use o seguinte tipo de insight:
google.networkanalyzer.container.ipAddressInsight
Você precisa das seguintes permissões:
recommender.networkAnalyzerGkeIpAddressInsights.list
recommender.networkAnalyzerGkeIpAddressInsights.get
Para mais informações sobre o uso da API Recommender para insights do Network Analyzer, consulte Usar a CLI e a API do recomendador.
Alta alocação de intervalos de pod do GKE
Esse insight indica que a utilização do endereço IP nos intervalos de endereços do pod para um cluster do GKE é maior que 80%. A política de alocação de endereços IP para pods do GKE varia se o cluster foi criado como um cluster nativo de VPC ou um cluster baseado em rota.
Clusters baseados em rotas
No GKE, os clusters podem ser diferenciados pela forma como encaminham o tráfego de um pod para outro. Um cluster que usa as rotas do Google Cloud é chamado de cluster baseado em rotas. Para mais informações, consulte Como criar um cluster baseado em rotas.
Um cluster baseado em rotas tem um intervalo de endereços IP que são usados para pods e serviços. Mesmo que o intervalo seja usado tanto para pods quanto para serviços, ele é chamado de intervalo de endereço de pod.
O último /20
do intervalo de endereços de pod é usado para serviços. Um intervalo /20
tem
212 = 4096
endereços. Portanto, 4096
endereços são usados para
serviços e o restante do intervalo é usado para pods.
Cada nó do intervalo de endereços de pod tem um intervalo /24
de endereços IP para os
pods.
Um intervalo /24
tem 28 = 256
endereços. Lembre-se de que
4096
endereços no intervalo de endereços de pod são usados para serviços. A
parte restante do intervalo de endereços de pod é usada para pods e deve ser grande
o suficiente para armazenar o número de nós x 256 endereços.
A proporção de alocação do intervalo de endereços do pod é calculada da seguinte forma:
Por exemplo, você planeja criar um cluster de nós 900
. Portanto, você precisa
de 900 x 256 = 230,400
endereços para pods. Agora, suponha que você tenha um intervalo de endereços
de pod /14
. Um intervalo /14
tem 218 = 262,144
endereços. Subtraia os 4096
endereços usados para serviços e você terá
258,048
, que é suficiente para 900
nós.
Clusters nativos de VPC
No GKE, os clusters podem ser diferenciados pela forma como encaminham o tráfego de um pod para outro. Um cluster que usa intervalos de endereços IP de alias é chamado de cluster nativo de VPC. Para mais informações, consulte Clusters nativos de VPC.
Ao criar um pool de nós em um cluster nativo de VPC, você seleciona um intervalo de endereços IP secundário a fim de alocar IPs para pods do GKE. Diferentes pools de nós podem usar diferentes intervalos secundários para alocar endereços IP de pod. Para mais informações, consulte CIDR de vários pods. O Network Analyzer calcula a proporção de alocação para cada intervalo de endereços IP secundário usado para alocar endereços IP do pod para um determinado cluster. Se a proporção de alocação geral for maior que 80%, você receberá um insight de alta utilização.
A proporção de alocação de um único intervalo de endereços IP secundário é calculada da seguinte forma:
Por exemplo, um intervalo de pods secundário /24
pode conter 256
pods. Se houver apenas um
nó 1
com os pods padrão max_pods_per_node
, 110
e 16
em execução, a
proporção mostrará 100% (256/256
) em vez de 6,25% (16/256
) porque, embora os
endereços IP do pod 240
não sejam usados, eles ainda pertencem a esse nó. Outro
nó novo só poderá ser criado com êxito se houver 256
endereços IP
de pod não utilizados.
A alocação geral é calculada da seguinte forma:
Por exemplo, se o endereço IP de pod padrão e o intervalo adicional de endereços IPv4 de pod
forem definidos como /22
e houver 2
pools de nós, um pool de nós usará
o intervalo de endereços IP de pod padrão e terá 3
nós, enquanto o segundo pool de nós usará
um intervalo de endereços IP de pod adicional e também terá 3
nós,
com o número máximo padrão de pods definido como 110
. O Kubernetes atribui um intervalo CIDR /24
aos nós no cluster. Com 6
nós e um intervalo CIDR /24
alocado,
há um total de 256 * 6 = 1536
endereços IP. Isso é 75% do número
total de endereços IP disponíveis nos dois intervalos de endereços IP do pod
(1024 * 2 = 2048
).
É importante observar que, se o endereço IP secundário for compartilhado entre
clusters diferentes, os insights mostrarão o valor total agregado de todos os
clusters. Se você quiser ver uma única utilização do intervalo de IP do cluster, execute
gcloud container cluster describe CLUSTER_NAME
para ver
cada status de utilização de endereço IP secundário.
Substitua CLUSTER_NAME
pelo nome do cluster.
Temas relacionados
- Informações de endereço IP do pod com cluster baseado em rotas
- Intervalo do endereço de IP secundário da sub-rede para pods
- CIDR de vários pods
Recomendações
- Para clusters baseados em rotas, se você precisar criar pools de nós adicionais e ficar sem espaço, recrie este cluster com um tamanho maior de intervalo de endereços de pods.
- Para clusters nativos de VPC, crie pools de nós futuros com um intervalo maior de endereços IP do pod.
- Reduza o número máximo de pods.
- Adicione outros intervalos de endereços IPv4 de pod usando o CIDR de vários pods para clusters do Standard e do Autopilot.
A alocação de intervalos de pod do GKE limita o escalonamento automático
Esse insight indica que os intervalos de endereços IP do pod do cluster não têm endereços suficientes para aceitar a criação do número máximo de nós em todos os pools de nós. A página de detalhes do Insight inclui uma tabela que mostra o número de endereços IP do pod usados atualmente e o número máximo de endereços IP do pod em cada um dos intervalos de endereços IP do pod do cluster do GKE.
O Network Analyzer gera esse insight quando o valor de utilização do endereço IP totalmente escalonado automaticamente excede 100%.
O valor de uso do endereço IP totalmente escalonado excede 100% quando o número de endereços IP do pod necessários para aceitar o número máximo de nós no cluster excede o número de endereços IP nos intervalos de endereços IP do pod do cluster. O número máximo de nós no cluster é a soma do número máximo de nós em cada pool de nós do cluster (maxNodeCount).
O valor de utilização de endereço IP totalmente escalonado é calculado por meio da fórmula encontrada em Alta alocação de intervalos de pods do GKE.
Clusters baseados em rotas
Esse insight é gerado quando a proporção de alocação do intervalo de endereços do pod é maior que 100%, e todos os pools de nós são escalonados automaticamente. Os nós do GKE não serão criados devido à falta de espaço de endereço IP.
Clusters nativos de VPC
Esse insight será gerado se qualquer intervalo de endereços IP secundário usado para alocar endereços IP do pod não tiver espaço suficiente. O espaço de endereço IP insuficiente não consegue lidar com a situação quando todos os pools de nós são totalmente escalonados automaticamente.
Temas relacionados
Para mais informações, consulte Práticas recomendadas para redes do GKE e Limitação do escalonador automático de clusters.
Recomendações
- Para clusters baseados em rotas, recrie o cluster com um intervalo de endereços de pod maior. Crie este cluster como um cluster nativo de VPC, porque esse é o modo de rede recomendado. Veja Clusters nativos de VPC e baseados em rotas
- Para clusters nativos de VPC, adicione outros intervalos de pod ao nível do cluster usando o CIDR de vários pods e ative o provisionamento automático de nós para automatizar o escalonamento de nós com a alocação automática de endereços IP de pod. Se você quiser mais controle sobre os endereços IP de pod usados para cada pool de nós, crie os pools de nós que usam um intervalo de endereços IP secundário específico usando o CIDR de vários pods. No entanto, isso se aplica somente a clusters do Standard.