Clusters nativos de VPC

Esta página oferece uma vista geral dos clusters nativos da VPC no Google Kubernetes Engine (GKE).

Esta página destina-se a arquitetos da nuvem e especialistas em redes que concebem e arquitetam a rede para a respetiva organização. Para saber mais acerca das funções comuns e das tarefas de exemplo que referimos no Trusted Cloud by S3NS conteúdo, consulte o artigo Funções e tarefas comuns de utilizadores do GKE.

Vista geral

No GKE, os clusters podem ser distinguidos de acordo com a 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. Um cluster que usa rotas estáticas personalizadas numa rede VPC é denominado cluster baseado em rotas.

Prática recomendada:

Planeie e crie a configuração do cluster com os arquitetos de rede, os administradores de rede ou qualquer outra equipa de engenheiros de rede da sua organização responsável por definir, implementar e manter a arquitetura de rede.

Vantagens dos clusters nativos de VPC

Os clusters nativos de VPC têm várias vantagens:

  • Os endereços IP dos pods são encaminháveis nativamente na rede VPC do cluster e noutras redes VPC ligadas a esta através do intercâmbio da rede VPC.

  • Os endereços IP dos pods são reservados na rede VPC antes de os pods serem criados no seu cluster. Isto evita conflitos com outros recursos na rede VPC e permite-lhe planear melhor as atribuições de endereços IP.

  • Os intervalos de endereços IP dos pods não dependem de rotas estáticas personalizadas. Não consomem a quota de rotas estáticas personalizadas e geradas pelo sistema. Em alternativa, as rotas de sub-rede geradas automaticamente processam o encaminhamento para clusters nativos da VPC.

  • Pode criar regras de firewall que se aplicam apenas a intervalos de endereços IP de pods, em vez de a qualquer endereço IP nos nós do cluster.

  • Os intervalos de endereços IP de pods e os intervalos de endereços IP secundários de sub-redes em geral são acessíveis a partir de redes no local ligadas ao Cloud VPN ou ao Cloud Interconnect através de routers na nuvem.

  • Algumas funcionalidades, como os grupos de pontos finais da rede (NEGs), só funcionam com clusters nativos da VPC.

Modo de rede de cluster predefinido

O modo de rede nativo de VPC é o modo predefinido para todos os clusters nas versões 1.21.0-gke.1500 e posteriores do GKE. Para versões anteriores, o modo de rede do cluster predefinido depende da forma como cria o cluster.

A tabela seguinte lista o modo de rede de cluster predefinido para as versões de cluster do GKE e os métodos de criação de clusters.

Versões do GKE Método de criação de clusters Modo de rede do cluster
Todas as versões A Trusted Cloud consola Nativo de VPC
1.21.0-gke.1500 e posterior API GKE ou CLI do Google Cloud Nativo de VPC

Também pode criar um cluster baseado em rotas especificando a flag --no-enable-ip-alias quando cria o cluster.

Intervalos de endereços IP para clusters nativos de VPC

Quando cria um cluster nativo de VPC, especifica uma sub-rede numa rede de VPC. O cluster usa os seguintes intervalos de endereços IP de sub-rede:

Atribuição de endereços IPv4

Os clusters nativos da VPC atribuem endereços IPv4 para nós, pods e serviços usando intervalos distintos na sub-rede especificada, da seguinte forma.

  • Endereços IP dos nós: o cluster usa o intervalo de endereços IPv4 principal da sub-rede para atribuir endereços IP a todos os nós.

  • Endereços IP de pods: o cluster usa o intervalo de endereços IPv4 secundário na sub-rede para todos os endereços IPv4 de pods no cluster. Para maior flexibilidade, pode usar intervalos de endereços IPv4 secundários de sub-rede adicionais configurando o CIDR multidisjunto de vários pods.

  • Endereços IP de serviço: o cluster usa um intervalo de endereços IP secundário separado para todos os endereços de serviço (IP do cluster). Para obter informações sobre como ativar vários clusters para partilharem o mesmo intervalo IPv4 de serviços, consulte o artigo Partilhar intervalos de endereços IP entre clusters do GKE.

Atribuição de endereços IPv6 (redes de pilha dupla)

  • Endereços IPv6 de nós e pods: em clusters ativados para redes de pilha dupla, o endereço IPv6 do nó e todos os endereços IPv6 de pods têm origem no intervalo de endereços IPv6 /96 designado do nó. O endereço IP do nó é o primeiro /128 (endereço IPv6 único) dentro deste intervalo. Para mais informações, consulte o artigo sobre redes de pilha dupla.

A tabela seguinte apresenta um resumo dos intervalos de endereços IP para nós, pods e serviços:

Intervalo Explicação Exemplo
Nós

Os endereços IP dos nós são atribuídos a partir do intervalo de endereços IP principal da sub-rede associada ao seu cluster.

Os endereços IP dos nós e o tamanho do intervalo de endereços IP secundários da sub-rede para pods limitam o número de nós que um cluster pode suportar. Consulte os intervalos de limitação de nós para mais informações.

Se planeia criar um cluster de 900 nós, o intervalo de endereços IP principal da sub-rede do cluster tem de ter, pelo menos, um tamanho de /22 (2(32-22) = 210 = 1024 endereços)./22 Destes 1024 endereços, 1020 são utilizáveis porque quatro endereços IP estão reservados em cada intervalo de endereços IP principal.

Consulte o Intervalo de endereços IP primários da sub-rede e o Intervalo de endereços IP secundários da sub-rede para pods para mais informações.

Agrupamentos

Os endereços IP dos pods são retirados do intervalo de endereços IP secundários da sub-rede do cluster para os pods. A menos que defina um número máximo diferente de agrupamentos por nó, o GKE atribui um /24 intervalo de IPs de alias (256 endereços) a cada nó para os agrupamentos em execução no mesmo. Em cada nó, esses 256 endereços IP de alias são usados para suportar até 110 pods.

Para um cluster de 900 nós que suporte até 110 pods por nó, precisa de 900 × 256 = 230 400 endereços IP para pods. (A cada nó é atribuído um intervalo de IPs de alias cujo tamanho da máscara de rede é /24.) Este cluster requer uma sub-rede cujo intervalo de IPs secundário para pods tenha uma máscara de sub-rede não superior a /14. Este intervalo de IPs secundário fornece 2(32-14) = 218 = 262 144 endereços IP para pods.

Consulte o artigo Intervalo de endereços IP secundários da sub-rede para pods para mais informações.

Serviços

Os endereços de serviço (IP do cluster) são retirados do intervalo de endereços IP secundários da sub-rede do cluster para serviços. Tem de garantir que este intervalo é suficientemente grande para fornecer endereços para todos os serviços Kubernetes que aloja no seu cluster.

Nos clusters do GKE Autopilot com a versão 1.27 e posteriores, e nos clusters do GKE Standard com a versão 1.29 e posteriores, o GKE atribui endereços IP para os serviços do GKE a partir de um intervalo gerido pelo GKE: 34.118.224.0/20 por predefinição. Isto elimina a necessidade de especificar o seu próprio intervalo de endereços IP para os serviços. Para ver detalhes, consulte o artigo Intervalo de endereços IP secundários da sub-rede para serviços.

Para um cluster que execute até 3000 serviços, precisa de 3000 endereços IP do cluster. Precisa de um intervalo secundário de tamanho /20 ou superior. Um intervalo /20 de endereços IP resulta em 2(32-20) = 212 = 4096 endereços IP.

Consulte o artigo Intervalo de endereços IP secundários da sub-rede para serviços para mais informações.

Endereços IP internos

Os endereços IP que usa para as sub-redes do cluster nativo da VPC têm de ser provenientes de um intervalo de sub-redes válido. Os intervalos válidos incluem endereços IP privados (RFC 1918 e outros) e endereços IP públicos usados de forma privada. Consulte os Intervalos válidos e os Intervalos restritos na documentação da VPC para mais informações sobre intervalos de sub-redes válidos.

Consulte o artigo Usar intervalos de endereços IP privados não RFC 1918 para obter instruções sobre como ativar a utilização destes intervalos.

Consulte o artigo Ative intervalos de endereços IP públicos usados de forma privada para obter instruções sobre a utilização destes intervalos.

Métodos de atribuição de intervalos secundários

Pode atribuir intervalos de endereços IP de pods e intervalos de endereços de serviços (ClusterIP) a um cluster nativo da VPC. Estes intervalos de endereços IP podem ser geridos pelo GKE ou pelo utilizador.

Tem de compreender os seguintes termos principais para compreender os métodos de atribuição de intervalo secundário.

Atribuição: a atribuição de intervalos de endereços IP refere-se ao processo de atribuição de um intervalo de sub-rede específico a um cluster nativo da VPC. Isto estabelece um conjunto de endereços IP que os componentes podem usar no cluster, como pods e serviços.

Gestão: a gestão do intervalo de endereços IP refere-se às operações CRUD (criação, atualização, eliminação e leitura) contínuas ao nível do cluster, do conjunto de nós ou do pod, relacionadas com os intervalos de sub-redes atribuídos e a atribuição de recursos no seu cluster nativo da VPC.

Intervalos secundários geridos pelo GKE (predefinição)

Para clusters do GKE Autopilot com a versão 1.27 e posteriores e clusters do GKE Standard com as versões 1.29 e posteriores, o GKE atribui endereços IP para serviços a partir de um intervalo gerido pelo GKE por predefinição: 34.118.224.0/20. Isto elimina a necessidade de especificar o seu próprio intervalo de endereços IP para os serviços. Aplicam-se as seguintes considerações:

  • Opcionalmente, pode especificar intervalos personalizados para serviços através da flag --services-ipv4-cidr.
  • Se especificar apenas um tamanho usando a flag --services-ipv4-cidr (por exemplo, /22), o GKE continua a usar o intervalo gerido pelo GKE para obter o subintervalo de endereços.
  • O GKE não cria um intervalo de endereços IP secundário separado para os serviços quando é usado o intervalo gerido pelo GKE.

Gerido pelo utilizador

Para ter controlo total sobre a atribuição de endereços IP, pode gerir manualmente as sub-redes do cluster nativo da VPC.

Pode criar os intervalos de endereços IP secundários da sub-rede e, em seguida, criar um cluster que use esses intervalos. Durante a criação do cluster, especifique o nome do intervalo da sub-rede para pods e serviços. Se criar manualmente os intervalos secundários, tem de os gerir.

O intervalo de endereços IP mais pequeno que pode criar sem usar o CIDR de vários pods descontínuos é /28, mas esse intervalo só lhe permitiria criar 1 nó com um máximo de 8 pods. Deve usar um intervalo suficientemente grande para o número máximo de nós de que precisa.

O intervalo utilizável mínimo também depende do número máximo de pods por nó.

Consulte a tabela em Otimizar a atribuição de endereços IP para o intervalo CIDR mínimo utilizável para diferentes valores de agrupamentos máximos por nó.

Se esgotar o intervalo de endereços IP para pods, tem de fazer uma das seguintes ações:

Diferenças com clusters baseados em rotas

O esquema de atribuição de endereços de pods e serviços (ClusterIP) é diferente do esquema usado por um cluster baseado em rotas. Em vez de especificar um único CIDR para os pods e os serviços em conjunto, tem de escolher ou criar dois intervalos de endereços IP secundários na sub-rede do cluster: um para os pods e outro para os serviços.

Considerações sobre a VPC partilhada

Quando cria um cluster nativo da VPC num ambiente de VPC partilhada, um proprietário, um editor ou um principal de gestão de identidades e acessos (IAM) do projeto com a função de administrador de rede no projeto anfitrião da VPC partilhada tem de criar manualmente a sub-rede e os intervalos de endereços IP secundários do cluster. Um administrador do projeto de serviço que cria um cluster tem de ter, pelo menos, autorizações ao nível da sub-rede para a sub-rede no projeto anfitrião da rede de VPC partilhada.

Num ambiente de VPC partilhada, os intervalos de endereços IP secundários não podem ser geridos pelo GKE. Um administrador de rede no projeto anfitrião da VPC partilhada tem de criar a sub-rede e os intervalos de endereços IP secundários antes de poder criar o cluster. Para ver um exemplo que mostra como configurar um cluster nativo de VPC numa rede de VPC partilhada, consulte o artigo Configurar clusters com a VPC partilhada.

Planeamento do intervalo de endereços IP

Use as informações nas secções seguintes para ajudar a calcular os tamanhos dos intervalos de endereços IP primários e secundários da sub-rede usada pelo cluster.

Intervalo de endereços IP principal da sub-rede

Considere as seguintes condições ao planear o intervalo de endereços IP do nó principal:

  • Todas as sub-redes têm de ter um intervalo de endereços IP principal. Este é o intervalo de endereços IP que o GKE usa para atribuir endereços IP a balanceadores de carga internos e nós.
  • Depois de criar uma sub-rede, pode expandir o respetivo intervalo de endereços IP principal, mas não o pode reduzir. Se expandir uma sub-rede usada por um cluster com redes autorizadas, tem de adicionar o intervalo de endereços IP expandido à lista de redes autorizadas do plano de controlo. Antes de expandir um intervalo, certifique-se de que revê as limitações e as recomendações em Expanda um intervalo IPv4 principal.

  • Os dois primeiros e os dois últimos endereços IP de um intervalo de endereços IP principal são reservados pela Trusted Cloud.

  • Os clusters com o Private Service Connect usam o intervalo de sub-rede principal para aprovisionar o endereço IP interno atribuído ao ponto final do plano de controlo. No entanto, pode substituir este aprovisionamento de endereços IP com a flag private-endpoint-subnetwork. Para saber mais, consulte o artigo Crie um cluster e selecione o intervalo de endereços IP do plano de controlo.

A tabela seguinte mostra o número máximo de nós que pode criar, tendo em conta o tamanho do intervalo de endereços IP principal da sub-rede e a configuração do cluster:

  • Cenário 1: número máximo de nós num cluster que usa a sub-rede predefinida.
  • Cenário 2: número máximo de nós num cluster do Private Service Connect que não usa a flag private-endpoint-subnetwork.
Intervalo de IP principal da sub-rede Cenário 1 Cenário 2
/29
Tamanho mínimo para o intervalo IP principal de uma sub-rede
4 nós 3 nós
/28 12 nós 11 nós
/27 28 nós 27 nós
/26 60 nós 59 nós
/25 124 nós 123 nós
/24 252 nós 251 nós
/23 508 nós 507 nós
/22 1020 nós 1019 nós
/21 2044 nós 2043 nós
/20
Tamanho predefinido do intervalo de IPs principal de uma sub-rede em redes de modo automático
4092 nós 4091 nós
/19 8188 nós 8187 nós
/8
Tamanho máximo para o intervalo IP principal de uma sub-rede
16 777 212 nós 16 777 211 nós

Expanda o intervalo de endereços IP principal

Se ficar sem endereços IP no intervalo de endereços IP principal, pode expandir o intervalo de endereços IP principal em qualquer altura, mesmo quando os Trusted Cloud recursos, como equilibradores de carga e grupos de pontos finais de rede, usam a sub-rede.

Antes de expandir o intervalo de endereços IP principal, considere o seguinte:

  • Não pode haver intervalos de endereços IP sobrepostos na sub-rede.
  • O GKE usa o intervalo de endereços IP principal para atribuir endereços IP para balanceadores de carga internos e nós.

Fórmulas úteis

Pode usar as seguintes fórmulas para:

  • Calcule o número máximo de nós, N, que uma determinada máscara de rede pode suportar em clusters que usam a sub-rede predefinida. Use S para o tamanho da máscara de rede, cujo intervalo válido está entre 8 e 29, inclusive.

    N = 2(32 -S) - 4

  • Calcule o tamanho da máscara de rede, S, necessária para suportar um máximo de N nós:

    S = 32 - ⌈log2(N + 4)⌉

    ⌈⌉ é a função de arredondamento para cima (menor número inteiro), o que significa arredondar para o número inteiro seguinte. O intervalo válido para o tamanho da máscara de rede, S, está entre 8 e 29, inclusive.

Nos clusters do Private Service Connect que não usam a flag private-endpoint-subnetwork, pode usar as fórmulas anteriores, mas reduzir o valor de N em 1.

Intervalo de endereços IP secundários da sub-rede para pods

Planeie cuidadosamente o intervalo de endereços IP secundários para os pods.

A tabela seguinte mostra o número máximo de nós e agrupamentos que pode criar em todos os clusters que usam a sub-rede, tendo em conta a dimensão do intervalo de endereços IP secundários da sub-rede usado pelos agrupamentos.

Esta tabela pressupõe que o número máximo de agrupamentos por nó é 110, que é a densidade de agrupamentos predefinida.

Intervalo de IP secundário da sub-rede para agrupamentos Máximo de endereços IP do agrupamento Máximo de nós Agrupamentos máximos
/24
O menor intervalo de IPs de agrupamentos possível quando o método de atribuição de intervalo secundário é gerido pelo utilizador
256 endereços 1 nó

Piloto automático: 32 agrupamentos

Padrão: 110 agrupamentos

/23
Só é possível quando o método de atribuição de intervalo secundário é gerido pelo utilizador
512 endereços 2 nós

Piloto automático: 64 agrupamentos

Padrão: 220 agrupamentos

/22
Só é possível quando o método de atribuição de intervalo secundário é gerido pelo utilizador
1024 endereços 4 nós

Piloto automático: 128 agrupamentos

Padrão: 440 pods

/21
Intervalo de IPs de pods mais pequeno possível quando o método de atribuição do intervalo secundário é gerido pelo GKE
2048 endereços 8 nós

Autopilot: 256 pods

Padrão: 880 agrupamentos

/20 4096 endereços 16 nós

Piloto automático: 512 agrupamentos

Padrão: 1760 pods

/19 8192 endereços 32 nós

Piloto automático: 1024 agrupamentos

Padrão: 3520 agrupamentos

/18 16 384 endereços 64 nós

Piloto automático: 2048 agrupamentos

Padrão: 7040 agrupamentos

/17 32 768 endereços 128 nós

Piloto automático: 4096 agrupamentos

Padrão: 14 080 agrupamentos

/16 65 536 endereços 256 nós

Piloto automático: 8192 agrupamentos

Padrão: 28 160 agrupamentos

/15 131 072 endereços 512 nós

Piloto automático: 16 384 agrupamentos

Padrão: 56 320 pods

/14
Tamanho predefinido para o intervalo de endereços IP secundários da sub-rede para pods quando o método de atribuição do intervalo secundário é gerido pelo GKE
262 144 endereços 1024 nós

Piloto automático: 32 768 agrupamentos

Padrão: 112 640 pods

/13 524 288 endereços 2048 nós

Piloto automático: 65 536 agrupamentos

Padrão: 225 280 agrupamentos

/12 1 048 576 endereços 4096 nós

Piloto automático: 131 072 pods

Padrão: 450 560 agrupamentos

/11 2 097 152 endereços 8192 nós

Piloto automático: 262 144 agrupamentos

Padrão: 901,120 Pods

/10 4 194 304 endereços 16 384 nós

Piloto automático: 524 288 agrupamentos

Padrão: 1 802 240 pods

/9
Maior intervalo de endereços de agrupamentos possível
8 388 608 endereços 32 768 nós

Piloto automático: 1 048 576 agrupamentos

Padrão: 3 604 480 agrupamentos

Se alterou o número máximo de agrupamentos por nó, pode usar as seguintes fórmulas para calcular o número máximo de nós e agrupamentos que um intervalo de endereços IP secundários de uma sub-rede para agrupamentos pode suportar:

  1. Calcule o tamanho da máscara de rede do intervalo de agrupamentos de cada nó, M.
    M = 31 - ⌈log2(Q)⌉ onde:

    • Q é o número de agrupamentos por nó
    • ⌈⌉ é a função de limite superior (menor número inteiro), o que significa arredondar para o número inteiro seguinte
    • Por exemplo, se Q for 110, então M = 24
  2. Calcule o número máximo de nós, N, que o intervalo de endereços IP secundários da sub-rede para pods pode suportar:
    N = 2(M - S) onde:

    • M é o tamanho da máscara de rede do intervalo de endereços IP do alias de cada nó para pods, calculado no primeiro passo
    • S é o tamanho da máscara de sub-rede do intervalo de endereços IP secundários da sub-rede
    • Por exemplo, se M for 24 e S for 20, então N = 16
  3. Calcule o número máximo de pods, P, que o intervalo de endereços IP secundários da sub-rede para pods pode suportar:
    P = N × Q onde:

    • N é o número máximo de nós, calculado no passo anterior
    • Q é o número de agrupamentos por nó
    • Por exemplo, se N for 16 e Q for 110, então P = 1760

Pode adicionar mais endereços IP para pods através do CIDR de vários pods não contíguos.

Intervalo de endereços IP secundários da sub-rede para serviços

Planeie cuidadosamente o intervalo de endereços IP secundários para serviços. Uma vez que também é um intervalo de endereços IP secundários da sub-rede, este intervalo não pode ser alterado depois de o cluster ser criado.

Se usar serviços de vários clusters, o objeto ServiceImport usa endereços IP do intervalo de endereços IP secundários para serviços.

Nos clusters do GKE Autopilot com a versão 1.27 e posteriores e nos clusters do GKE Standard com as versões 1.29 e posteriores, o GKE atribui endereços IP para serviços a partir de um intervalo gerido pelo GKE por predefinição: 34.118.224.0/20. Isto elimina a necessidade de especificar o seu próprio intervalo de endereços IP para os serviços. Aplicam-se as seguintes considerações:

  • Opcionalmente, pode especificar intervalos personalizados para serviços através da flag --services-ipv4-cidr ou da flag --services-secondary-range-name.
  • Se especificar apenas um tamanho de intervalo através da flag --services-ipv4-cidr (por exemplo, /22), o GKE continua a usar o intervalo gerido pelo GKE para obter o subintervalo de endereços.
  • O GKE não cria um intervalo de endereços IP secundário separado para os serviços quando é usado o intervalo gerido pela Google. O intervalo gerido pelo GKE não usa a quota do intervalo de endereços IP secundários para a sua sub-rede.

A tabela seguinte mostra o número máximo de serviços que pode criar num único cluster usando a sub-rede, dado o tamanho do intervalo de endereços IP secundários da sub-rede para serviços.

Intervalo de IP secundário para serviços Número máximo de serviços
/28
O intervalo de endereços de serviço mais pequeno possível quando o método de atribuição do intervalo secundário é gerido pelo utilizador
16 serviços
/27
O intervalo de moradas de serviço mais pequeno possível quando o método de atribuição de intervalo secundário é gerido pelo GKE
32 serviços
/26 64 serviços
/25 128 serviços
/24 256 serviços
/23 512 serviços
/22 1024 serviços
/21 2048 serviços
/20
Tamanho predefinido para o intervalo de IPs secundário da sub-rede para serviços quando o método de atribuição do intervalo secundário é gerido pelo GKE
4096 serviços
/19 8192 serviços
/18 16 384 serviços
/17 32 768 serviços
/16
Maior intervalo de moradas de serviço possível
65 536 serviços

Partilhar intervalos de endereços IP entre clusters do GKE

Pode partilhar o intervalo principal, o intervalo de endereços IP secundários para pods e o intervalo de endereços IP secundários para serviços entre clusters na mesma sub-rede. Este comportamento está disponível para clusters padrão e do Autopilot.

É aconselhável partilhar intervalos de endereços IP se tiver uma equipa centralizada que esteja a gerir a infraestrutura para clusters. Pode reduzir as despesas gerais criando três intervalos para pods, serviços e nós, e reutilizando-os ou partilhando-os, especialmente num modelo de VPC partilhada. Também pode facilitar a gestão de endereços IP por parte dos administradores de rede, uma vez que não precisam de criar sub-redes específicas para cada cluster.

Partilhar o intervalo de sub-rede personalizado para o plano de controlo

Por predefinição, o GKE usa o intervalo de sub-rede principal para aprovisionar o ponto final interno do plano de controlo. No entanto, em clusters com o Private Service Connect, pode configurar o GKE para aprovisionar o ponto final interno a partir de uma sub-rede diferente que criou. Pode partilhar esta sub-rede entre outros clusters ou em projetos se estiver a usar a VPC partilhada.

Partilhar o intervalo de endereços IP principal para nós

Se criar mais do que um cluster na sub-rede, o intervalo de endereços IP principal para os nós é partilhado por predefinição.

A partilha do endereço IP principal para nós tem as seguintes limitações:

  • Se partilhar o intervalo de endereços IP principal para nós com dois ou mais clusters nativos da VPC, um cluster pode usar uma grande parte do intervalo de endereços IP partilhado, deixando os outros clusters sem endereços IP suficientes para expansão.

Partilhar o intervalo de endereços IP secundários para pods

Quando partilha o intervalo secundário para os Pods, cada Pod continua a receber um endereço IP único.

A partilha do intervalo de endereços IP secundários para os Pods tem as seguintes limitações:

  • Se partilhar o intervalo de endereços IP secundários para agrupamentos com dois ou mais clusters nativos da VPC, um cluster pode usar uma grande parte do intervalo de endereços IP partilhado, deixando os outros clusters sem endereços IP suficientes para expansão.

  • Entre os diferentes tipos de intervalos secundários, os intervalos de pods adicionais e os intervalos de pods adicionais não são partilháveis entre clusters.

  • Para partilhar um intervalo de endereços IP secundário, transmita-o na linha de comandos com --cluster-secondary-range. Não pode usar um intervalo secundário partilhado quando cria clusters na IU.

Partilhar o intervalo de endereços IP secundários para serviços

Dois ou mais clusters podem usar simultaneamente o mesmo intervalo de endereços IPv4 secundários para serviços quando usa intervalos secundários geridos pelo utilizador.

Para configurar dois ou mais clusters para partilharem um intervalo de endereços IPv4 secundários de sub-rede comum para serviços, use o mesmo intervalo de endereços IPv4 secundários de sub-rede quando criar cada cluster. Não é necessária uma flag de configuração separada para partilhar um intervalo de endereços IPv4 comum para os serviços.

Quando partilham um intervalo de endereços IPv4 comum para serviços, cada cluster usa o intervalo de endereços IPv4 secundário de toda a sub-rede para serviços internamente. Os endereços IP dos serviços são programados no nó de cada cluster, mas não são atribuídos à interface de rede de nenhum nó. Os endereços IP de serviço não são encaminháveis na rede VPC do cluster. Os endereços IP de serviço só são utilizáveis por pods de cliente no mesmo cluster que o serviço.

Quando um pod envia um pacote para um endereço IP de serviço, a configuração do iptables ou eBPF no nó executa a tradução de endereços de rede (NAT) de destino, alterando o endereço IP de destino do pacote do endereço IP de serviço para um endereço IP de pod de serviço. O pacote é encaminhado com base no endereço IP do pod de destino.

A partilha do intervalo de endereços IP secundário para serviços oferece as seguintes vantagens:

  • Reduza o número de intervalos de endereços IP secundários únicos para serviços criados numa sub-rede
  • Use menos endereços IP

A partilha do intervalo de endereços IP secundários para serviços tem as seguintes limitações:

  • A partilha do intervalo de endereços IP secundários para serviços não é suportada com o Cloud DNS ao nível da VPC para o GKE.
  • Não pode partilhar intervalos que correspondam à seguinte regex:

    ^gke-.*-services-[abcdef0-9]{8}
    
  • Para partilhar um intervalo de endereços IP secundário para serviços, transmita-o na linha de comandos. --cluster-secondary-range Não pode usar um intervalo secundário partilhado para serviços quando cria clusters na IU.

Intervalos de limitação de nós

O número máximo de pods e serviços para um determinado cluster do GKE é limitado pelo tamanho dos intervalos secundários do cluster. O número máximo de nós no cluster é limitado pelo tamanho do intervalo de endereços IP principal da sub-rede do cluster e pelo intervalo de endereços do pod do cluster.

A seguinte mensagem de erro indica que o intervalo de endereços IP principal da sub-rede ou o intervalo de endereços IP dos pods do cluster (o intervalo de endereços IP secundário da sub-rede para pods) foi esgotado:

Instance [node name] creation failed: IP space of [cluster subnet] is
exhausted

Pode adicionar mais endereços IP para nós ao expandir a sub-rede principal ou adicionar novos endereços IP para pods através do CIDR de vários pods descontinuados. Para mais informações, consulte o artigo Não existe espaço de endereço IP livre suficiente para os pods.

Redes de pilha dupla IPv4/IPv6

Com a rede de pilha dupla IPv4/IPv6, pode definir como o GKE atribui endereços IP (ipFamilies) aos seguintes objetos:

  • Para pods e nós, o GKE atribui endereços IPv4 e IPv6.
  • Para os serviços, o GKE atribui endereços de pilha única (apenas IPv4 ou apenas IPv6) ou de pilha dupla.

Na versão 1.24 ou posterior do GKE, pode ativar a rede de pilha dupla para novos clusters do GKE em redes VPC autónomas e partilhadas. Também pode aplicar políticas de rede com a rede de pilha dupla ativada.

Vantagens

As redes de pilha dupla oferecem as seguintes vantagens:

  • Ativa a comunicação IPv6 ponto a ponto.
  • Permite um melhor desempenho em comparação com a tradução de endereços de rede (NAT) ou o túnel de IP. Isto é conseguido porque não existe tradução de IPv6 para IPv4.

Disponibilidade

A rede de pilha dupla com o GKE tem as seguintes restrições:

  • As redes de pilha dupla só estão disponíveis para clusters nativos da VPC com o GKE Dataplane V2 ativado.
  • As redes de pilha dupla só são suportadas em sub-redes em VPCs de modo personalizado. Para mais informações, consulte os Trusted Cloud tipos de redes VPC.
  • Os endereços IPv6 de pilha única para agrupamentos ou nós não são suportados.
  • Os clusters de pilha dupla consomem memória adicional por nó para suportar IPv4 e IPv6 em comparação com clusters apenas IPv4. Considere esta caraterística quando configurar clusters de grande escala.
  • Os clusters de pilha dupla não suportam o acesso privado à Google através de IPv6.
  • As versões 1.26.0-gke.2200 e posteriores do GKE suportam IPv6 (registos AAAA) com o Cloud DNS para operações internas do cluster e consultas DNS externas.
  • Os serviços de pilha dupla são suportados para os serviços ClusterIP, NodePort e LoadBalancer.
  • O IPv6 não é suportado para nós do Windows.

Considere as restrições anteriores antes de criar um cluster com rede de pilha dupla. Para mais informações, saiba como criar um cluster nativo da VPC com rede de pilha dupla.

Atribuição de endereços IPv6 públicos e privados

A tabela seguinte apresenta um resumo dos endereços IPv6 públicos e privados com o comportamento e as configurações de rede de pilha dupla:

ipv6-access-type bandeira Atribuição de endereços IP Intervalo de sub-rede
EXTERNAL

O GKE atribui endereços IPv6 externos encaminháveis para a Internet.

De 2600:1900/28
INTERNAL

O GKE atribui endereços IPv6 internos que não são encaminháveis para a Internet.

Os clusters com o tipo de acesso INTERNAL IPv6 não podem aceder à Internet através de endereços IPv6. O Cloud NAT não suporta endereços IPv6.

De fd20::/20 (que é um subconjunto do intervalo de ULA geral: fc00::/7).

Para saber mais, veja como usar uma rede de pilha dupla para um cluster nativo da VPC.

Arquitetura

Um cluster com redes de pilha dupla IPv4/IPv6 tem os seguintes intervalos atribuídos:

  • Um intervalo /64 para cada sub-rede como um intervalo principal.
  • Um intervalo /96 por nó do intervalo principal a usar como intervalo de endereços IP do nó principal.
  • Um intervalo /112 por nó do intervalo de endereços IP do nó principal a usar como um intervalo de endereços IP do pod para esse nó. Com a rede de pilha dupla, os pods recebem os respetivos endereços IPv6 do intervalo de endereços IP de pods geral (semelhante aos nós) e não do intervalo secundário para pods reservado a endereços IPv4.

    O intervalo de endereços IP do grupo geral é composto por intervalos não sobrepostos do intervalo de IP do nó principal. Como tal, este intervalo de IPs do pod é descontinuado.

  • Um intervalo /112 para usar nos serviços. Este intervalo provém de um intervalo /64 do intervalo de endereços privados da Google que foi reservado para o intervalo de endereços IP de serviços secundários do GKE.

O diagrama seguinte mostra como o Trusted Cloud e o GKE atribuem endereços IPv6:

No diagrama, o intervalo principal da sub-rede da VPC é 2600:1900:0:1::/64 e o intervalo reservado para os serviços do GKE é 2600:2D00:0:4::0:0/64. Cada nó no cluster tem um intervalo /96 para o intervalo de endereços IP do nó principal e um intervalo /112 para o intervalo de endereços IP do pod. O cluster também tem um intervalo de endereços IP de serviços secundários /112.

Serviços

Pode criar um serviço de pilha dupla IPv4/IPv6 do tipo ClusterIP ou NodePort. Os novos clusters do GKE com a versão 1.29 ou posterior suportam serviços de pilha dupla do tipo LoadBalancer.

Pode expor uma implementação com um serviço do tipo ClusterIP, NodePort ou LoadBalancer. Para cada um destes tipos de serviço, pode definir os campos ipFamilies e ipFamilyPolicy como IPv4, IPv6 ou um serviço de duplo stack. Para mais informações, consulte um exemplo de como configurar uma implementação.

O que se segue?