Estatísticas de utilização de endereços IP do GKE

Esta página descreve as estatísticas do Network Analyzer para a utilização de endereços IP do Google Kubernetes Engine (GKE). Para ver informações sobre todos os tipos de estatísticas, consulte o artigo Grupos e tipos de estatísticas.

Veja estatísticas na API Recommender

Para ver estas estatísticas na CLI gcloud ou na API Recommender, use o seguinte tipo de estatísticas:

  • google.networkanalyzer.container.ipAddressInsight

Precisa das seguintes autorizações:

  • recommender.networkAnalyzerGkeIpAddressInsights.list
  • recommender.networkAnalyzerGkeIpAddressInsights.get

Para mais informações sobre a utilização da API Recommender para estatísticas do Network Analyzer, consulte o artigo Utilize a CLI e a API Recommender.

Alocação de intervalos de pods do GKE elevada

Esta estatística indica que a utilização de endereços IP nos intervalos de endereços de pods para um cluster do GKE é superior a 80%. A política de atribuição de endereços IP para pods do GKE varia consoante o cluster tenha sido criado como um cluster nativo da VPC ou um cluster baseado em rotas.

Clusters baseados em rotas

No GKE, os clusters podem ser distinguidos pela forma como encaminham o tráfego de um pod para outro. Um cluster que usa Google Cloud rotas é denominado cluster baseado em rotas. Para mais informações, consulte o artigo 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. Embora o intervalo seja usado para pods e serviços, é denominado intervalo de endereços de pods.

Os últimos /20 do intervalo de endereços do pod são usados para serviços. Um intervalo /20 tem 212 = 4096 endereços. Assim, os endereços 4096 são usados para serviços e o resto do intervalo é usado para pods.

Cada nó do intervalo de endereços do Pod tem um intervalo de endereços IP para os pods./24 Um intervalo /24 tem 28 = 256 endereços. Lembre-se de que os endereços 4096 no intervalo de endereços do pod são usados para serviços. A parte restante do intervalo de endereços do agrupamento é usada para agrupamentos e tem de ser suficientemente grande para conter o número de nós x 256 endereços.

A taxa de atribuição para o intervalo de endereços do pod é calculada da seguinte forma:

$\frac{\text {GKE node count} \times {256}}{\text {Pod address range size}-{4096}}$

Por exemplo, planeia criar um cluster de nós 900. Em seguida, precisa de moradas 900 x 256 = 230,400 para os Pods. Suponhamos que tem um intervalo de endereços /14. Um intervalo /14 tem 218 = 262,144 endereços. Subtraia os endereços 4096 usados para serviços e obtém 258,048, o que é suficiente para 900 nós.

Clusters nativos de VPC

No GKE, os clusters podem ser distinguidos pela forma como encaminham o tráfego de um pod para outro. Um cluster que usa intervalos de endereços IP de alias é denominado cluster nativo da VPC. Para mais informações, consulte o artigo Clusters nativos de VPC.

Quando cria um conjunto de nós num cluster nativo da VPC, seleciona um intervalo de endereços IP secundário para atribuir IPs aos pods do GKE. Os diferentes conjuntos de nós podem usar diferentes intervalos secundários para atribuir endereços IP de pods. Para mais informações, consulte o artigo CIDR de vários pods. O analisador de rede calcula a taxa de atribuição para cada intervalo de endereços IP secundários usado para atribuir endereços IP de pods para um determinado cluster. Se a taxa de atribuição geral for superior a 80%, recebe uma estatística de utilização elevada.

A taxa de atribuição para um único intervalo de endereços IP secundários é calculada da seguinte forma:

$\frac{\text {Endereços IP do intervalo secundário atribuídos aos nós}}{\text {Tamanho do intervalo secundário}}$

Por exemplo, um intervalo de agrupamentos /24 secundário pode conter 256 agrupamentos. Se existir apenas um nó 1 com os pods max_pods_per_node, 110 e 16 predefinidos em execução, a proporção mostra 100% (256/256) em vez de 6,25% (16/256) porque, embora os endereços IP dos pods 240 não sejam usados, continuam a pertencer a este nó. Só é possível criar outro nó com êxito se existirem 256 endereços IP de pods não usados.

A atribuição geral é calculada da seguinte forma:

$\frac{\text {Soma dos IPs atribuídos em todos os intervalos de endereços IP secundários usados para atribuir endereços IP de pods}}{\text {Soma dos tamanhos dos intervalos de endereços IP secundários usados para atribuir endereços IP de pods}}$

Por exemplo, se o intervalo de endereços IP do pod predefinido e o intervalo de endereços IPv4 do pod adicional estiverem definidos como /22 e existirem 2 conjuntos de nós, um conjunto de nós usa o intervalo de endereços IP do pod predefinido e tem 3 nós, enquanto o segundo conjunto de nós usa um intervalo de endereços IP do pod adicional e também tem 3 nós, com o número máximo predefinido de pods definido como 110. O Kubernetes atribui um intervalo de /24CIDR aos nós no cluster. Com 6 nós e um intervalo CIDR /24 atribuído, existem um total de 256 * 6 = 1536 endereços IP. Isto representa 75% do número total de endereços IP disponíveis nos dois intervalos de endereços IP de pods (1024 * 2 = 2048).

É importante ter em atenção que, se o endereço IP secundário for partilhado entre diferentes clusters, as estatísticas mostram o valor total agregado de todos os clusters. Para ver a utilização de um único intervalo de IPs do cluster, pode executar o comando gcloud container cluster describe CLUSTER_NAME para ver o estado de utilização de cada endereço IP secundário. Substitua CLUSTER_NAME pelo nome do cluster.

Recomendações

A atribuição de intervalos de pods do GKE limita a escala automática

Esta estatística indica que os intervalos de endereços IP do agrupamento não têm endereços suficientes para suportar a criação do número máximo de nós em todos os conjuntos de nós. A página de detalhes das estatísticas inclui uma tabela que mostra o número de endereços IP de pods atualmente usados e o número máximo de endereços IP de pods em cada um dos intervalos de endereços IP de pods do seu cluster do GKE.

O analisador de rede gera esta estatística quando o valor de utilização do endereço IP totalmente dimensionado automaticamente excede 100%.

O valor de utilização do endereço IP com escalamento automático total excede 100% quando o número de endereços IP de pods necessários para suportar o número máximo de nós no cluster excede o número de endereços IP nos intervalos de endereços IP de pods do cluster. O número máximo de nós no cluster é a soma do número máximo de nós em cada conjunto de nós do cluster (maxNodeCount).

O valor de utilização do endereço IP com escalamento automático total é calculado através da fórmula disponível no artigo Atribuição de intervalos de pods do GKE elevados.

Clusters baseados em rotas

Esta estatística é gerada quando a taxa de atribuição do intervalo de endereços do pod é superior a 100% e todos os conjuntos de nós são totalmente dimensionados automaticamente. Os nós do GKE não são criados devido à falta de espaço de endereços IP.

Clusters nativos de VPC

Esta estatística é gerada se qualquer intervalo de endereços IP secundário usado para atribuir endereços IP de pods não tiver espaço de endereços IP não atribuídos suficiente. O espaço de endereços IP insuficiente não consegue processar a situação em que todos os conjuntos de nós são totalmente dimensionados automaticamente.

Para mais informações, consulte as práticas recomendadas para a rede do GKE e a limitação do escalamento automático de clusters.

Recomendações

  • Para clusters baseados em rotas, recrie o cluster com um intervalo de endereços de pods maior. Crie este cluster como um cluster nativo de VPC porque é o modo de rede recomendado. Veja os clusters nativos de VPC e baseados em rotas.
  • Para clusters nativos da VPC, adicione intervalos de pods adicionais ao nível do cluster através do CIDR de vários pods e ative o aprovisionamento automático de nós para automatizar o dimensionamento de nós com a atribuição automática de endereços IP de pods. Se quiser ter mais controlo sobre os endereços IP dos pods que são usados para que conjunto de nós, pode criar os conjuntos de nós que usam um intervalo de endereços IP secundário específico através do CIDR de vários pods. No entanto, isto aplica-se apenas a clusters padrão.