2017-08-23 5 views
0

Je suis en train d'acheminer le trafic entrant en dosettes spécifiques à l'intérieur Kubernetes: Comme le suggère ici: Is it possible to specific custom rules for running new containers in Kubernetes/Docker?services d'équilibrage de charge Kubernetes UDP

j'ai essayé d'utiliser Ingress. Malheureusement, il semble fonctionner uniquement avec http et je dois acheminer le trafic entrant d'UDP. Utilisation de la carte de configuration Je ne peux pas mapper des URL spécifiques à des services spécifiques.

Des idées sur la façon de le gérer?

Répondre

1

Ingress est pour le trafic HTTP afin tu as raison de dire que ne peut pas répondre à vos besoins.

La meilleure façon d'y parvenir est d'utiliser un service. Un service effectue automatiquement l'équilibrage de charge de la couche 3 sur les pods qui lui sont associés. Il ressemblera à quelque chose comme ceci:

kind: Service 
apiVersion: v1 
metadata: 
    name: ntp-service 
spec: 
    selector: 
    app: ntp 
    ports: 
    - protocol: UDP 
    port: 123 
    targetPort: 123 

L'inconvénient de cette méthode est que chaque nœud de travailleur doit consacrer un port (123 dans l'exemple ci-dessus) au Service.

0
+0

Les deux exposent le service à Internet via Load Balancer (dans ce cas, Azure). Et cette partie fonctionne. Ce qui ne fonctionne pas, c'est que je ne peux pas router le trafic UDP en interne. Une fois la passerelle obtenue, elle n'est pas acheminée vers les services internes. Il n'est pas vraiment possible d'exposer tout ce qui concerne LoadBalancer, je veux donc exposer le trafic de service et de routage unique à des centaines de services UDP internes. –