Esta página explica como pode alcançar uma comunicação fiável atribuindo diretamente um ou mais endereços IP persistentes (estáticos) a Pods específicos nos seus clusters do Google Kubernetes Engine (GKE).
Em determinados casos, quando está a executar uma solução de tradução de endereços de rede (NAT) personalizada, pode querer um endereço IP estático persistente para ligações de saída e de entrada, quer quando a solução NAT inicia a ligação, quer quando a recebe. Também pode querer ter controlo sobre os endereços IP atribuídos à aplicação para gerir a forma como interage com outros sistemas ou como processa tipos específicos de pedidos com base nos requisitos da sua empresa.
Por predefinição, o pod usa os endereços IP da respetiva interface para o tráfego de saída. Os endereços IP da interface mudam quando o Pod é reiniciado ou movido. Para ter mais controlo sobre a comunicação de encaminhamento, pode configurar manualmente endereços IP persistentes para os seus pods no GKE.
Estes endereços IP podem ser endereços IP externos para comunicar através da Internet ou endereços IP internos para comunicar na sua rede Google Cloud. Pode usar endereços IP fornecidos pela Google ou trazer os seus próprios endereços IP (BYOIP).
Ao configurar endereços IP persistentes para pods no GKE, pode mapear a aplicação e a lógica empresarial para permitir que pods específicos enviem e recebam tráfego para ou a partir de qualquer um dos endereços IP persistentes.
O diagrama seguinte ilustra como um pod com várias interfaces de rede pode usar um endereço IP persistente de uma rede secundária enquanto comunica na rede predefinida:

Terminologia e conceitos
Esta página usa os seguintes conceitos:
Classes de gateway
As classes de gateway, que gerem as suas atribuições de endereços IP persistentes, estão disponíveis nas seguintes classes:
- gke-persistent-regional-external-managed para endereços IP externos
gke-persistent-regional-internal-managed para endereços IP internos (apenas paraGoogle Cloud)
As classes de gateway funcionam em regiões específicas. As classes de gateway oferecem uma gestão básica de endereços IP e estão focadas no encaminhamento de rede da camada 3 (L3).
Objetos de gateway
Os objetos de gateway funcionam como o ponto central para gerir e configurar
endereços IP persistentes. Os objetos Gateway no GKE gerem um conjunto de endereços IP persistentes. Estas listam estes endereços e definem regras sobre como estes endereços IP podem ser atribuídos a GKEIPRoute
.
Ouvinte
Um Listener faz parte da configuração do GKE Gateway que controla que pods nos espaços de nomes do Gateway podem usar os endereços IP persistentes detidos pelo Gateway. O Listener permite-lhe personalizar o acesso para maior flexibilidade e segurança. Cada Listener precisa de um nome exclusivo e permite-lhe filtrar o acesso por espaço de nomes (todos, com base em etiquetas ou apenas o espaço de nomes do Gateway).
Objeto GKEIPRoute
O objeto GKEIPRoute é um recurso personalizado que configura para
atribuir um endereço IP persistente a um pod específico no seu cluster do GKE. Pode usar a secção de estado do objeto GKEIPRoute
para monitorizar a configuração do endereço IP persistente, que fornece informações importantes através dos seguintes campos:
Agrupamento
O campo Pod mostra o nome exato do Pod associado aos endereços IP persistentes. Um único Pod pode usar vários endereços IP persistentes.
Condições
O campo Condições indica se a configuração do endereço IP externo está a funcionar corretamente e também pode ajudar a diagnosticar problemas se a configuração não for válida. Existem quatro condições:
Accepted
: indica se a especificação do recursoGKEIPRoute
é válida. Se a configuração tiver erros, a condiçãoAccepted
éFalse
com um motivo.GCPReady
: indica que a Google Cloud preparou todos os recursos necessários. Os erros durante o processo de aprovisionamento de recursos são refletidos no estado da condiçãoGCPReady
. Google CloudDPV2Ready
: indica o estado da programação do caminho de dados, como o caminho de dados estar pronto e programado para permitir ligações de rede nos endereços IP persistentes configurados.Ready
: indica que a configuração do endereço IP persistente é válida e está a funcionar. Os pods podem ser alcançados nos endereços IP persistentes fornecidos, desde que tenha configurado a sua aplicação para os usar. Esta opção está definida comoTrue
quando todas as outras três condições anteriores também estãoTrue
.
Modos de reação
Os modos de reação determinam o comportamento do sistema quando o pod associado a um endereço IP persistente sofre alterações, como a movimentação entre nós ou quando um pod correspondente criado recentemente fica disponível. Pode usar os modos de reação para manter os seus endereços IP persistentes utilizáveis, mesmo quando os Pods mudam.
Os modos de reação são um dos seguintes:
ReadyCondition
No modo ReadyCondition, o sistema de endereços IP persistentes dá prioridade ao estado de funcionamento do pod. O sistema de endereços IP persistentes só atribui endereços IP a pods que correspondam às etiquetas especificadas e tenham passado nas sondas de estado do Kubernetes, sinalizando o respetivo estado
Ready
comoTrue
. Este modo é ideal para aplicações em que é fundamental que o pod que recebe o endereço IP persistente esteja totalmente preparado para processar o tráfego de entrada e saída.Existe
O modo Exists dá prioridade à presença de um agrupamento. O endereço IP persistente é anexado a um pod se esse pod corresponder às etiquetas na sua configuração e tiver sido agendado num nó específico no cluster. Isto significa que o Pod existe e tem um local designado para ser executado. Este modo é adequado para cenários em que a atribuição rápida do endereço IP persistente tem prioridade sobre a disponibilidade rigorosa ou em ambientes como o desenvolvimento e os testes, em que a conetividade imediata pode ser mais importante do que o estado de funcionamento total da aplicação.
StatefulSets
Os StatefulSets são um tipo de carga de trabalho do Kubernetes concebido para aplicações que precisam de identificadores estáveis e armazenamento persistente. Os pods num StatefulSet têm nomes previsíveis (por exemplo: my-app-0, my-app-1).
Implementações
As implementações são um tipo de carga de trabalho do Kubernetes para gerir aplicações sem estado em que os pods são geralmente intercambiáveis. Os nomes dos pods nas implementações não são totalmente previsíveis.
Exemplos de utilização
Os endereços IP persistentes para pods do GKE resolvem vários exemplos de utilização para fornecedores de serviços de rede e segurança que executam aplicações relacionadas com a rede no GKE.
As moradas IP persistentes para pods do GKE resolvem os seguintes exemplos de utilização:
- Controlo sobre o NAT: ao atribuir endereços IP persistentes a Pods que executam funções de rede, obtém um controlo detalhado sobre os endereços IP de origem usados para o tráfego de saída. Isto permite-lhe integrar a sua lógica de NAT proprietária.
- Pools de endereços IP dedicados: os endereços IP dedicados permitem-lhe fazer corresponder endereços específicos a pods do 5G Core individuais, garantindo a compatibilidade com software de fornecedores especializados.
- Fluxos de tráfego fiáveis: uma vez que o tráfego de retorno tem de ser encaminhado novamente através da mesma função de rede, os endereços IP persistentes garantem que os sistemas externos reconhecem e respondem ao pod correto sem interrupções na comunicação.
Vantagens
As moradas IP persistentes para pods do GKE oferecem as seguintes vantagens:
- Identidade externa: se atribuir um endereço IP persistente externo a um Pod, os sistemas externos podem alcançar esse Pod de forma consistente, mesmo que seja reiniciado ou movido no cluster. Isto é útil para serviços que precisam de um ponto final detetável externamente.
- Comunicação fiável: as aplicações que dependem de outros recursos com endereços IP específicos podem estabelecer ligações de forma fiável através de endereços IP persistentes. Os endereços IP persistentes são importantes para sistemas ou aplicações antigos com dependências de endereços IP codificadas.
- Migrações antigas: as migrações antigas podem ajudar na migração de aplicações que dependem de ter endereços IP específicos durante o processo de transição.
- BYOIP: o BYOIP permite-lhe manter o controlo sobre intervalos de endereços IP específicos que já possui, usando-os nos seus clusters do GKE.
O que se segue?
- Controle a comunicação com endereços IP persistentes em pods do GKE
- Leia o artigo Acerca do suporte de várias redes para agrupamentos
- Leia o artigo Configure o suporte de várias redes para os Pods