Static IP sortants dans Kubernetes

j'exécute un cluster k8s dans google cloud (GKE) et un serveur MySQL dans aws (RDS). Les Pods doivent se connecter à des RDS qui n'autorisent les connexions qu'à partir de certaines IP. Comment configurer le trafic sortant pour avoir une IP statique?

22
demandé sur dvdgsng 2016-12-14 05:19:23

2 réponses

j'ai eu le même problème pour me connecter à un serveur sftp depuis un Pod. Pour résoudre ce problème, vous devez d'abord créer une adresse IP externe:

gcloud compute addresses create {{ EXT_ADDRESS_NAME }} --region {{ REGION }}

alors, je suppose que votre pod est assigné à votre cluster de noeuds par défaut. Extrait par défaut de votre piscine nom de noeud:

gcloud compute instances list | awk '{ print  }' | grep default-pool

Effacer l'adresse ip externe par défaut de l'instance vm:

gcloud compute instances delete-access-config {{ VM_DEFAULT-POOL_INSTANCE }} --access-config-name external-nat

ajouter votre adresse IP statique externe créée avant:

gcloud compute instances add-access-config {{ VM_DEFAULT-POOL_INSTANCE }} --access-config-name external-nat --address {{ EXT_ADDRESS_IP }}

si votre Pod n'est pas attaché à la liste par défaut nœud, n'oubliez pas de le sélectionner avec un nodeSelector:

nodeSelector:
    cloud.google.com/gke-nodepool: {{ NODE_NAME }} 
10
répondu Luc Charpentier 2017-02-17 10:19:05

j'ai fait quelques recherches et j'ai trouvé un couple de choses.

ce que nous recherchons s'appelle "egress IPs" ou NAT-as-a-Service et ils ne sont pas encore disponibles en GKE.

dans tous les cas nous avons deux options différentes:

  1. créer une VM de Nat Gateway qui agit comme un proxy de sortie. Voici un bel article à ce sujet (google cloud passerelle NAT)
  2. attribuer des adresses ip statiques à conteneur cluster VM instances

j'Espère que ça aide!

4
répondu Michele Orsi 2017-01-19 10:58:27