Faixa IP ou IP pública estável para conexões de saída no GKE

6

Eu uso o Google Kubernetes Engine para executar pods sob demanda. Cada pod é publicamente exposto à internet usando um serviço nodeport.

Estou procurando um caminho no GKE para obter um único IP ou um intervalo de IP para conexões de saída, para fornecer a APIs de terceiros para incluí-las na lista de permissões.

Os IPs do nó GKE não são gerenciáveis quando os nós são escalados automaticamente ou quando eu os atualizo. Eu preciso de uma maneira de manter um IP de saída consistente.

Eu tentei usar um gateway NAT simples para os nós do Kubernetes (usando o exemplo de aqui ), e enquanto isso direciona as conexões de saída para o NAT Gateway, ele interrompe o tráfego de entrada para os pods (serviço Nodeport), já que eles são descartados no gateway NAT.

  • Existe um intervalo de IP padrão para uma região do Google Cloud que posso fornecer a terceiros para a lista de permissões (ou)

  • Se o GKE fornecer uma maneira de selecionar IPs externos de nó de uma lista pré-reservada de IPs estáticos (ou)

  • Existe outra maneira de conseguir um único IP estático ou um intervalo de IP que represente o tráfego de saída dos pods

Eu encontrei perguntas semelhantes como esta , mas eles não resolvem meu problema, pois os pods devem ser conectados externamente, o que é interrompido quando se usa um NAT.

    
por Parag 11.04.2018 / 16:52

2 respostas

1

Sua melhor aposta para essa configuração é usar um serviço do LoadBalancer ou um recurso do Ingress para lidar com solicitações de entrada. Você pode atribuir um único IP estático a todos os seus pods, independentemente do tamanho da escala. Em seguida, use o exemplo que você forneceu para o tráfego de saída.

Os IPs externos atribuídos a cada nó são efêmeros e são escolhidos dentro do intervalo de IPs do Google disponíveis. Consulte este post de pilha que discute como encontrar a lista de IPs do Google.

    
por 11.04.2018 / 21:16
0

Você pode tentar esta solução:

link

Under normal circumstances, Google Kubernetes Engine nodes route all egress traffic through the internet gateway associated with their node cluster. The internet gateway connection, in turn, is defined by the Compute Engine network associated with the node cluster. Each node in the cluster has an ephemeral external IP address. When nodes are created and destroyed during autoscaling, new node IP addresses are allocated automatically.

The default gateway behavior works well under normal circumstances. However, you might want to modify how ephemeral external IP addresses are allocated in order to:

  • Provide a third-party service with a consistent external IP address.
  • Monitor and filter egress traffic out of the Google Kubernetes Engine cluster.
    
por 26.10.2018 / 13:12