Parâmetros de Serviço LoadBalancer


Nesta página, descrevemos os parâmetros de manifestos de Serviço que controlam o comportamento e a configuração do Serviço LoadBalancer. Antes de ler esta página, confira os conceitos do Serviço LoadBalancer do Google Kubernetes Engine (GKE).

Parâmetros de serviço

O GKE aceita os parâmetros a seguir para Serviços LoadBalancer.

Parâmetro Campo e descrição do serviço Interno Externo Compatibilidade das versões
Balanceador de carga de rede de passagem interno networking.gke.io/load-balancer-type: "Internal"

Instrui o GKE a criar um balanceador de carga de rede de passagem interna.

Para detalhes, consulte Conceitos do Serviço LoadBalancer.

Todas as versões compatíveis
Balanceador de carga de rede de passagem externa baseado em serviço de back-end cloud.google.com/l4-rbs: "enabled"

Instrui o GKE a criar um balanceador de carga de rede de passagem externa baseado em serviço de back-end.

Para detalhes, consulte Conceitos do Serviço LoadBalancer.

GKE 1.25.5+
Política de tráfego interno spec.internalTrafficPolicy

Quando definido como Local, o GKE só encaminha pacotes de pods de clientes em um nó para pods de exibição no mesmo nó. Quando definido como Cluster, o GKE encaminha pacotes de pods de clientes em um nó para pods de exibição em qualquer nó. Para mais detalhes, consulte a Política de tráfego interno do serviço.

Esse parâmetro não oferece suporte aos clusters que executam o GKE Dataplane V2.

GKE 1.22+
Política de tráfego externo spec.externalTrafficPolicy

Controla quais VMs de nó passam nas verificações de integridade do balanceador de carga e como os pacotes são encaminhados para os pods prontos e disponibilizados no cluster. Controla também como os nós são agrupados em NEGs GCE_VM_IP quando o Subagrupamento do GKE está ativado.

Para detalhes, consulte Conceitos do Serviço LoadBalancer.

GKE 1.14 ou superior (1.23.4-gke.400+ para pool de nós do Windows)
Porta de verificação de integridade spec.healthCheckNodePort

Implanta uma verificação de integridade do balanceador de carga para os serviços LoadBalancer. Esse parâmetro só será válido se spec.externalTrafficPolicy for definido como Local.

Todas as versões compatíveis
Regras de firewall e lista de permissões de endereços IP de origem spec.loadBalancerSourceRanges

Configura regras de firewall opcionais no GKE e na rede VPC para permitir apenas determinados intervalos de origem. O kube-proxy também configura regras iptables para corresponder aos intervalos de origem especificados.

Todas as versões compatíveis
Endereços IP estáticos
  • spec.loadBalancerIP (somente IPv4)
  • networking.gke.io/load-balancer-ip-addresses

Especifica um endereço IPv4 estático, um intervalo de endereços IPv6 estático ou ambos atribuídos às regras de encaminhamento do balanceador de carga. Consulte Considerações para compartilhar um endereço IP comum para requisitos de configuração e detalhes de implementação importantes.

  • spec.loadBalancerIP: todas as versões compatíveis
  • networking.gke.io/load-balancer-ip-addresses: GKE 1.29 e posterior. Consulte Parâmetros de endereço IP estático para ver outros requisitos de configuração ou anotação do cluster.
Níveis de serviço de rede cloud.google.com/network-tier

Especifica quais Níveis de serviço de rede o GKE usa para a regra de encaminhamento externa e o endereço IP. Os valores válidos de anotação são Standard e Premium (padrão).

GKE 1.19 e posterior.
Sub-rede personalizada
  • networking.gke.io/internal-load-balancer-subnet
  • networking.gke.io/load-balancer-subnet

(aplicável somente a IPv6)
  • networking.gke.io/internal-load-balancer-subnet: todas as versões compatíveis
  • networking.gke.io/load-balancer-subnet: GKE 1.29 e posterior. Consulte Anotações de sub-rede personalizadas para conferir outros requisitos.
Acesso global networking.gke.io/internal-load-balancer-allow-global-access: "true"

Permite que o endereço IP da regra de encaminhamento seja acessível por clientes em qualquer região da rede VPC ou de uma rede conectada.

Visualização no GKE 1.16+. Geralmente disponível no GKE 1.17.9-gke.600+.
Todas as portas

Nenhuma anotação é necessária, mas o subagrupamento do GKE precisa estar ativado.

O GKE configura automaticamente a regra de encaminhamento para usar todas as portas se pelo menos seis (até 100) portas únicas forem especificadas em spec.ports[].port.

GKE versão 1.18.19-gke.1400 ou posterior
ipFamilyPolicy

spec.ipFamilyPolicy

Define como o GKE aloca endereços IP para um serviço. Defina spec.ipFamilyPolicy como SingleStack, PreferDualStack ou RequireDualStack.

Para saber mais, consulte Serviços de pilha dupla IPv4/IPv6.

Os clusters do GKE na versão 1.29 ou posterior são compatíveis com redes de pilha dupla para serviços LoadBalancer.
ipFamilies (opcional)

spec.ipFamilies

Define a família de endereços IPs para alocar serviços de pilha única ou de pilha dupla. Use um dos seguintes valores:

  • IPv4 apenas para serviço IPv4 de pilha única.
  • IPv6 somente para o serviço IPv6.
  • IPv4,IPv6 para serviço de pilha dupla, em que o endereço IP principal do serviço é IPv4.
  • IPv6,IPv4 para serviço de pilha dupla, em que o endereço IP principal do serviço é IPv6.
Os clusters do GKE na versão 1.29 ou posterior são compatíveis com redes de pilha dupla para serviços LoadBalancer.

Porta de verificação de integridade

Conforme descrito em Verificações de integridade do balanceador de carga, o GKE sempre implanta uma verificação de integridade do balanceador de carga ao criar um balanceador de carga de rede de passagem externo ou um balanceador de carga de rede de passagem interno.

A configuração do parâmetro healthCheckNodePort depende da configuração a seguir do externalTrafficPolicy:

externalTrafficPolicy Porta de verificação de integridade
Cluster

Não é possível usar o spec.healthCheckNodePort.

Local

É possível selecionar uma porta personalizada usando o spec.healthCheckNodePort. Se não for especificado, o plano de controle do Kubernetes atribuirá uma porta de verificação de integridade a partir do intervalo de portas do nó.

Regras de firewall e lista de permissões de endereços IP de origem

Quando você cria um serviço de LoadBalancer, o GKE cria uma regra de firewall da VPC correspondente ao serviço. Cada regra de firewall tem as seguintes características:

  • A direção da regra de firewall é de entrada e a ação dela é permitida. As regras de firewall de entrada de negação implícitas no Google Cloud significam que o GKE usa um modelo de lista de permissões ao criar regras de firewall de entrada.
  • O GKE define o protocolo e a porta de destino da regra de firewall como especificados na lista spec.ports[] do serviço.
  • O GKE define o destino da regra de firewall definindo o parâmetro de destino como o endereço IP virtual do LoadBalancer.
  • Se o serviço incluir spec.loadBalancerSourceRanges[], o GKE definirá o parâmetro de origem da regra de firewall para os endereços IP dessa lista. Além disso, a instância kube-proxy em execução em cada nó configura as regras de iptables desse nó para restringir o tráfego aos endereços IP especificados. Se o serviço não incluir loadBalancerSourceRanges[], o GKE definirá o parâmetro de origem da regra de firewall como todos os endereços IP (0.0.0.0/0).

A regra de firewall criada para um serviço LoadBalancer permite pacotes, correspondentes ao protocolo e às portas de destino desse serviço, ao endereço IP virtual do serviço.

Serviços que usam portas comuns

Quando um cluster contém dois ou mais serviços que compartilham pelo menos uma porta e um protocolo comuns, o conjunto efetivo de intervalos de origem é a união de loadBalancerSourceRanges para todos os serviços que especificam esse protocolo e combinação de portas de destino. Isso ocorre porque o parâmetro de destino de uma regra de firewall de entrada define os endereços IP de destino como todos os endereços IP associados a uma VM.

Considere um cluster que tem dois serviços de LoadBalancer:

  • O spec.ports[0].port do primeiro serviço é a porta TCP 80 e o respectivo spec.loadBalancerSourceRanges=[100.10.0.0/16]. O balanceador de carga resultante correspondente a esse serviço tem o endereço IP 192.0.2.2.
  • O spec.ports[0].port do segundo serviço é a porta TCP 80, spec.ports[1].port é a porta TCP 90 e o spec.loadBalancerSourceRanges=[172.16.0.0/24] dela. O balanceador de carga resultante correspondente a esse serviço tem o endereço IP 198.51.100.3.

O GKE cria duas regras de firewall de entrada na rede de nuvem privada virtual do cluster. As duas regras de firewall especificam todos os nós do cluster como destinos:

  • A primeira regra de firewall permite pacotes para a porta de destino TCP 80 da origem 100.10.0.0/16.
  • A segunda regra de firewall permite pacotes para as portas de destino TCP 80 e 90 da origem 172.16.0.0/24.

A primeira regra de encaminhamento encaminha o tráfego correspondente ao destino 192.0.2.2:80. A segunda regra de encaminhamento roteia o tráfego que corresponde aos destinos 198.51.100.3:80 e 198.51.100.3:90. Os três itens a seguir são destinos válidos em cada nó: 192.0.2.2:80, 198.51.100.3:80 e 198.51.100.3:90. O que isso significa:

  • Ambos os serviços aceitam pacotes para a porta TCP 80 da união dos intervalos de origem de endereços IP, de 100.10.0.0/16 ou 172.16.0.0/24.
  • O segundo serviço aceita pacotes para a porta TCP 90 de 172.16.0.0/24.

O conjunto efetivo de intervalos de origem para todos os Serviços que usam a mesma combinação de protocolo e porta de destino se tornará todos os endereços IP se spec.loadBalancerSourceRanges for omitido em pelo menos um Serviço usando essa combinação de protocolo e porta de destino. Por exemplo, se o segundo serviço tiver omitido spec.loadBalancerSourceRanges, a origem do segundo firewall seria 0.0.0.0/0 e:

  • Ambos os serviços aceitariam pacotes para a porta TCP 80 da união dos intervalos de origem de endereço IP, de 100.10.0.0/16 ou 0.0.0.0/0. Como o intervalo 0.0.0.0/0 inclui o intervalo 100.10.0.0/16, a origem efetiva dos pacotes para a porta TCP 80 é qualquer endereço IP.
  • O segundo serviço aceitaria pacotes para a porta TCP 90 de 0.0.0.0/0 (qualquer endereço IP).

Endereços IP estáticos

É possível criar um endereço IP estático e configurar o GKE para atribuir esse endereço IP estático à regra de encaminhamento do balanceador de carga. O uso de um endereço IP estático garante que o endereço IP do balanceador de carga permaneça o mesmo, mesmo que você faça alterações no serviço LoadBalancer. Sem um endereço IP estático, o GKE pode atribuir um endereço IP diferente à regra de encaminhamento do balanceador de carga quando você atualiza um serviço LoadBalancer. O endereço IP da regra de encaminhamento não é igual ao endereço spec.clusterIP do Serviço. O endereço ClusterIP de um serviço nunca é alterado quando você atualiza um serviço LoadBalancer.

Parâmetros de endereço IP estático

Para instruir um serviço LoadBalancer a usar um endereço IP estático, use o parâmetro spec.loadBalancerIP ou a anotação networking.gke.io/load-balancer-ip-addresses. Na versão 1.29 e mais recentes do GKE, a anotação terá precedência sobre spec.loadBalancerIP se o manifesto do serviço contiver o parâmetro e a anotação.

Parâmetro ou anotação e valor Requisitos e capacidades
spec.loadBalancerIP:
IPv4_ADDRESS

É possível especificar um endereço IPv4 interno estático para um serviço LoadBalancer interno somente IPv4. É possível especificar um endereço IPv4 externo estático para um serviço LoadBalancer externo somente IPv4. O parâmetro funciona com todas as versões compatíveis do GKE.

networking.gke.io/load-balancer-ip-addresses:
IP_ADDRESS_RESOURCE_NAME
  • Para serviços LoadBalancer de pilha única, defina o valor da anotação como o nome do recurso de endereço IPv4 ou IPv6, não o próprio endereço IP.
  • Para serviços LoadBalancer de pilha dupla, defina o valor da anotação como o nome do recurso de endereço IPv4 estático e o nome do recurso do intervalo de endereços IPv6 estático, separados por uma vírgula.

É possível especificar um endereço IPv4 estático, um intervalo de endereços IPv6 estático ou ambos para serviços LoadBalancer somente IPv4, somente IPv6 e de pilha dupla interna e externa. A anotação requer o GKE 1.29 ou mais recente e os seguintes requisitos extras:

  • Para usar essa anotação com um serviço LoadBalancer interno, é necessário criar esse serviço em um cluster depois de ativar a subconfiguração do GKE.
  • Para usar essa anotação com um serviço LoadBalancer externo, é preciso incluir a anotação cloud.google.com/l4-rbs: "enabled" no manifesto do serviço ao criar o serviço LoadBalancer externo.

Considerações para compartilhar um endereço IP comum

Dois ou mais serviços LoadBalancer podem fazer referência ao mesmo endereço IP estático se a regra de encaminhamento de cada balanceador de carga usar uma combinação exclusiva de endereço IP, protocolo, especificação de porta e especificação dos Níveis de serviço de rede, conforme indicado na tabela desta seção. Além disso:

  • Os endereços IPv6 estáticos são, na verdade, intervalos de endereços IPv6 /96, mas o GKE só configura nós para aceitar pacotes no primeiro endereço IPv6 (/128) no intervalo /96.

  • Para que dois ou mais Serviços LoadBalancer internos usem o mesmo endereço IPv4 interno ou intervalo de endereços IPv6 internos, o endereço IP estático precisa ser criado com a finalidade SHARED_LOADBALANCER_VIP.

Serviço LoadBalancer interno Serviço LoadBalancer externo
Especificação da porta

As regras de encaminhamento para os balanceadores de carga de rede de passagem interna aceitam até cinco números de porta discretos ou podem ser configuradas para usar todas as portas.

Quando um Serviço LoadBalancer interno tem seis ou mais spec.ports[] especificados, o GKE configura a regra de encaminhamento para que o balanceador de carga de rede de passagem interno use todas as portas.

Quando uma regra de encaminhamento usa todas as portas, nenhuma outra regra (portanto, nenhum outro Serviço LoadBalancer interno) pode usar o mesmo endereço IP.

O GKE criará um balanceador de carga de rede de passagem externa baseado em um pool de destino se o manifesto do serviço LoadBalancer não tiver a anotação cloud.google.com/l4-rbs: "enabled".

As regras de encaminhamento para balanceadores de carga de rede de passagem externa baseados em pool de destino precisam usar intervalos de portas contíguos. O intervalo de portas contíguas inclui todas as portas de que o serviço precisa, mas também pode incluir outras portas que não são usadas por ele. Por exemplo, um serviço LoadBalancer externo com tecnologia de um balanceador de carga de rede de passagem externa baseado em pool de destino, que especifica as portas 80 e 443 no manifesto de serviço, usa uma regra de encaminhamento do balanceador de carga com um intervalo de portas de 80-443. Esse intervalo de portas impede que outros serviços LoadBalancer externos usem qualquer uma das portas 80, 443 e qualquer um dos números entre 80 e 443.

O GKE criará um serviço de back-end baseado no balanceador de carga de rede de passagem externa se o manifesto do serviço LoadBalancer incluir a anotação cloud.google.com/l4-rbs: "enabled". As regras de encaminhamento para balanceadores de carga de rede de passagem externa baseados em serviço de back-end aceitam até cinco números de porta discretos, um intervalo de portas contíguas ou podem ser configuradas para usar todas as portas.

Níveis de serviço de rede Não configurável: os endereços internos são sempre nível Premium.

Configurável para endereços IPv4 externos estáticos regionais. Os intervalos de endereços IPv6 externos estáticos regionais só podem ser criados no nível Premium.

A especificação dos níveis de serviço de rede do endereço IP externo estático precisa corresponder ao seguinte:

  • O nível especificado na anotação cloud.google.com/network-tier do manifesto do serviço LoadBalancer, se essa anotação estiver presente no manifesto ou
  • O nível padrão do projeto, se a anotação cloud.google.com/network-tier estiver ausente do manifesto do serviço LoadBalancer.

O nível padrão do projeto é Premium, a menos que você o tenha configurado de maneira diferente.

Sub-rede do LoadBalancer

É possível configurar um serviço LoadBalancer interno para usar um endereço IPv4 temporário ou estático, um intervalo de endereços IPv6 ou ambos em uma sub-rede personalizada localizada na mesma região e rede VPC do cluster. Use uma sub-rede personalizada para um serviço LoadBalancer interno para:

  • Agrupe os balanceadores de carga de rede de passagem interna criados pelos serviços LoadBalancer internos de dois ou mais clusters do GKE na mesma rede VPC e região.
  • Criar serviços LoadBalancer internos com balanceadores de carga de rede de passagem interna que tenham endereços IPv4 separados dos endereços IPv4 do nó do cluster.
  • Em um cluster de pilha dupla, crie Serviços LoadBalancer internos com balanceadores de carga de rede de passagem interna com intervalos de endereços IPv6 separados do nó do cluster e dos endereços IPv6 do pod. Uma sub-rede LoadBalancer personalizada será obrigatória para oferecer suporte a serviços internos do LoadBalancer se a sub-rede do cluster tiver um intervalo de endereços IPv6 externos.

É possível configurar um serviço LoadBalancer externo para usar um intervalo de endereços IPv6 temporário ou estático em uma sub-rede personalizada localizada na mesma região e rede VPC do cluster. Use uma sub-rede personalizada para criar serviços LoadBalancer externos em que os balanceadores de carga de rede de passagem externa tenham intervalos de endereços IPv6 separados do nó do cluster e dos endereços IPv6 do pod. Uma sub-rede LoadBalancer personalizada é obrigatória para oferecer suporte a serviços LoadBalancer externos em um cluster particular de pilha dupla, porque a sub-rede do cluster tem um intervalo de endereços IPv6 interno.

Anotações de sub-rede personalizadas

Use uma das anotações a seguir para instruir um serviço LoadBalancer a usar um endereço IP temporário ou estático em uma sub-rede personalizada. Se um manifesto do serviço LoadBalancer incluir as duas anotações, a anotação networking.gke.io/load-balancer-subnet terá precedência, desde que os requisitos de anotação sejam atendidos.

Anotação e valor Requisitos e capacidades
networking.gke.io/internal-load-balancer-subnet:
SUBNET_RESOURCE_NAME

Só é possível usar a anotação para especificar uma sub-rede personalizada para um serviço LoadBalancer interno somente IPv4. A anotação funciona com todas as versões compatíveis do GKE.

networking.gke.io/load-balancer-subnet:
SUBNET_RESOURCE_NAME

É possível especificar uma sub-rede personalizada para um serviço LoadBalancer somente IPv4, somente IPv6 ou de pilha dupla. É possível especificar uma sub-rede personalizada para um serviço LoadBalancer externo somente IPv6 ou de pilha dupla. A anotação requer o GKE 1.29 ou mais recente e os seguintes requisitos extras:

  • Para usar essa anotação a fim de especificar uma sub-rede personalizada para um serviço LoadBalancer interno, é preciso criar esse serviço em um cluster depois de ativar a criação de subconjuntos do GKE.
  • Para usar essa anotação a fim de especificar uma sub-rede personalizada para um serviço LoadBalancer externo, é preciso incluir a anotação cloud.google.com/l4-rbs: "enabled" no manifesto do serviço ao criar o serviço LoadBalancer externo.

Sub-rede e endereço IPv4 de um serviço LoadBalancer interno

A tabela abaixo descreve as combinações válidas de especificação de sub-rede e endereços IPv4 para um serviço LoadBalancer interno somente IPv4 ou de pilha dupla.

Endereço IPv4 estático Endereço IPv4 temporário
Sub-rede personalizada
Sub-rede personalizada e endereço IPv4 estático: o endereço IPv4 interno estático precisa ter sido criado no intervalo de endereços IPv4 principal da sub-rede personalizada. Sub-rede personalizada e endereço IPv4 temporário: o GKE usa um endereço IPv4 interno não alocado no intervalo de endereços IPv4 principal da sub-rede personalizada.
Sub-rede de cluster Sub-rede de cluster e endereço IPv4 estático: o endereço IPv4 interno estático precisa ter sido criado no intervalo de endereços IPv4 principal da sub-rede do cluster. Sub-rede de cluster e endereço IPv4 temporário: o GKE usa um endereço IPv4 interno não alocado no intervalo de endereços IPv4 principal da sub-rede do cluster.

Sub-rede e intervalo de endereços IPv6 para um serviço LoadBalancer interno

A tabela abaixo descreve as combinações válidas de especificação de sub-rede e intervalo de endereços IPv6 para um serviço LoadBalancer interno somente IPv6 ou de pilha dupla. Mesmo que a regra de encaminhamento IPv6 do balanceador de carga de rede de passagem interna use um intervalo de endereços IPv6 /96 interno, o GKE só configura nós para aceitar pacotes com destinos que correspondam ao primeiro endereço IPv6 (/128) do intervalo /96 da regra de encaminhamento.

Intervalo de endereços IPv6 estáticos Intervalo de endereços IPv6 temporário
Sub-rede de pilha dupla personalizada
Sub-rede personalizada e intervalo de endereços IPv6 estáticos: o intervalo de endereços IPv6 /96 internos estáticos precisa ter sido criado no intervalo de endereços IPv6 /64 interno da sub-rede personalizada. Sub-rede personalizada e intervalo de endereços IPv6 temporário: o GKE usa um intervalo de endereços IPv6 /96 internos não alocados do intervalo de endereços IPv6 /64 da sub-rede personalizada.
Sub-rede de pilha dupla do cluster
  • Precisa ter um intervalo de endereços IPv6 internos (tipo de acesso INTERNAL).
Sub-rede de cluster e intervalo de endereços IPv6 estáticos: o intervalo de endereços IPv6 /96 internos estáticos precisa ter sido criado no intervalo de endereços IPv6 /64 interno da sub-rede do cluster. Sub-rede de cluster e intervalo de endereços IPv6 temporário: o GKE usa um intervalo de endereços IPv6 /96 interno não alocado do intervalo de endereços IPv6 /64 da sub-rede do cluster.

Sub-rede e endereço IPv4 para um serviço LoadBalancer externo

Para serviços LoadBalancer externos somente IPv4 e de pilha dupla, o endereço IPv4 externo, seja um endereço IPv4 externo estático ou um endereço IPv4 externo temporário, não precisará de uma sub-rede.

Sub-rede e intervalo de endereços IPv6 para um serviço LoadBalancer externo

A tabela abaixo descreve as combinações válidas de especificação de sub-rede e intervalo de endereços IPv6 para um serviço LoadBalancer externo somente IPv6 ou de pilha dupla. Mesmo que a regra de encaminhamento IPv6 do balanceador de carga de rede de passagem externo use um intervalo de endereços IPv6 /96 externo, o GKE só configura nós para aceitar pacotes com destinos que correspondam ao primeiro endereço IPv6 (/128) do intervalo /96 da regra de encaminhamento.

Intervalo de endereços IPv6 estáticos Intervalo de endereços IPv6 temporário
Sub-rede de pilha dupla personalizada
Sub-rede personalizada e intervalo de endereços IPv6 estáticos: o intervalo de endereços IPv6 /96 externos estáticos precisa ter sido criado no intervalo de endereços IPv6 /64 externo da sub-rede personalizada. Intervalos de endereços IPv6 externos estáticos só podem ser criados no nível Premium. Sub-rede personalizada e intervalo de endereços IPv6 temporário: o GKE usa um intervalo de endereços IPv6 /96 externos não alocados do intervalo de endereços IPv6 /64 externos da sub-rede personalizada.
Sub-rede de pilha dupla do cluster
  • Precisa ter um intervalo de endereços IPv6 externos (tipo de acesso EXTERNAL).
Sub-rede de cluster e intervalo de endereços IPv6 estáticos: o intervalo de endereços IPv6 /96 externos estáticos precisa ter sido criado no intervalo de endereços IPv6 /64 externo da sub-rede do cluster. Intervalos de endereços IPv6 externos estáticos só podem ser criados no nível Premium. Sub-rede de cluster e intervalo de endereços IPv6 temporário: o GKE usa um intervalo de endereços IPv6 /96 externo não alocado do intervalo de endereços IPv6 /64 externo da sub-rede do cluster.

Acesso global

Quando a anotação networking.gke.io/internal-load-balancer-allow-global-access é false ou não especificada para um Serviço LoadBalancer interno, o GKE cria um balanceador de carga de rede de passagem interno com regra de encaminhamento que tem o acesso global desativado. Quando o acesso global é desativado, os clientes que precisam acessar o balanceador de carga precisam estar localizados na mesma região e rede VPC ou em uma rede conectada à rede VPC do cluster.

Quando a anotação networking.gke.io/internal-load-balancer-allow-global-access é true para um Serviço LoadBalancer interno, o GKE ativa a opção de acesso global na regra de encaminhamento do balanceador de carga de rede de passagem interno. Os clientes localizados em qualquer região da rede VPC ou em uma rede conectada à rede VPC do cluster podem acessar o balanceador de carga.

Para mais informações sobre como o acesso global se aplica a clientes em uma rede conectada, consulte:

Todas as regras de encaminhamento de portas

As regras de encaminhamento para balanceadores de carga de rede de passagem interna aceitam cinco números de porta exclusivos ou todas as portas.

Em clusters do GKE com o subagrupamento do GKE desativado, um Serviço LoadBalancer interno só aceitam cinco portas únicas no spec.ports[].port do Serviço.

Em clusters do GKE com o subagrupamento do GKE ativado, um Serviço LoadBalancer interno só pode aceitar até 100 portas no spec.ports[].port do Serviço. Para Serviços LoadBalancer internos com entre seis e 100 entradas spec.ports[].port únicas, o GKE configura a regra de encaminhamento do balanceador de carga de rede de passagem interno para usar todas as portas desde a criação. O controlador do GKE ativa todas as portas na regra de encaminhamento porque o Serviço tem mais de cinco portas. Ao configurar uma regra de encaminhamento para usar todas as portas, o GKE cria apenas regras de firewall de permissão de entrada para as portas específicas configuradas em spec.ports[].port no Serviço.

Para mais informações sobre as regras de encaminhamento do balanceador de carga de rede de passagem interno e as especificações de porta válidas, consulte Regras de encaminhamento e especificações de porta.

Serviço LoadBalancer de pilha dupla IPv4/IPv6

É possível criar um serviço LoadBalancer interno ou externo que pode ser de pilha única (somente IPv4 ou IPv6) ou de pilha dupla. Os serviços LoadBalancer de pilha única criam uma única regra de encaminhamento com um endereço IPv4 ou um endereço IPv6. Os serviços LoadBalancer de pilha dupla criam duas regras de encaminhamento: uma com um endereço IPv4 e outra com um endereço IPv6. Para criar um serviço LoadBalancer de pilha dupla IPv4/IPv6, implante-o em um cluster de pilha dupla IPv4/IPv6 e conclua qualquer uma das seguintes opções, dependendo do tipo de balanceador de carga usado:

Para cada serviço, é possível definir as especificações ipFamilyPolicy e ipFamilies. Para saber mais, consulte Pilha dupla IPv4/IPv6.

Restrições de serviços LoadBalancer de pilha dupla

  • Os serviços LoadBalancer com endereços IPv6 são compatíveis apenas com clusters com tipo de pilha ipv4-ipv6. Para mais informações, veja como usar um endereço IP de pilha dupla para um cluster nativo de VPC.
  • Não é possível fazer upgrade dos serviços LoadBalancer criados com um endereço de pilha única para serviços de pilha dupla.

  • Os serviços LoadBalancer criados com endereços de pilha dupla podem ser alterados para pilha única de acordo com as seguintes condições:

    • Um serviço com ipFamilies ["IPv4","IPv6"] pode ser alterado para um com ipFamilies IPv4, mas não IPv6.
    • Um serviço com ipFamilies ["IPv6","IPv4"] pode ser alterado para um com ipFamilies IPv6, mas não IPv4.