2016-03-10 1 views
3

Je cours un petit cluster openshift et voudrais fournir à nos développeurs une instance hébergée de mongo, à laquelle ils se connectent en externe.openshift origine dernière - rendre mongodb accessible aux ressources externes

Ce qui est assez facile, je pensais. Malheureusement, il semble toujours que tout le trafic doit passer sur haproxy et est limité à http/https. Mais mes développeurs doivent accéder de manière transparente au port mongo 27017.

est-il possible d'exposer le port de pod interne au monde extérieur, sans savoir sur quel pod il est exécuté.

en ce moment notre solution de contournement est sale

port avant oc 27017 de MongoDB-1-2n1ov: 27017

et que le client ne ssh un transfert à partir de là la machine à cela. Au lieu de cela, nous préférons avoir une solution automatisée qui permet le transfert TCP pour les noms d'hôte définis virtuels.

quelqu'un pourrait-il me diriger dans la bonne direction s'il vous plaît?

+0

Il est possible aujourd'hui avec un peu de travail (similaire à la solution mentionnée ci-dessous sur l'exposition directe des services). Vous pouvez définir un cidr virtuel dans votre réseau qui est routé vers vos routeurs (ou n'importe quel ensemble d'adresses IP). Sur ces hôtes, le proxy de service serait en cours d'exécution. Pour chaque service que vous souhaitez exposer à la périphérie, définissez son IP externe sur l'une des adresses IP de votre CIDR virtuel et attribuez à ce dernier son propre nom DNS. Le proxy de service déplacera ce trafic vers les pods. Un inconvénient - aujourd'hui, il n'y a aucun contrôle sur qui peut définir le champ externalIP. – Clayton

+0

Ouais, même ici. Je voulais la même chose avec MySQL. Je pense que le problème avec le portforwarding est que vous transférez directement à un pod. À mon humble avis, idéalement, nous ferions parvenir au Service. L'avantage de ceci serait de pouvoir travailler avec des pods de DB sans savoir à qui vous parlez. Vous pouvez redimensionner comme vous le souhaitez. Bien sûr, vous aurez également besoin d'une solution pour les sessions collantes. – dbalakirev

+0

Je suis d'accord avec Dave et Clayton merci, mais je suppose que je dois lire plus. Je suis surtout un développeur de logiciel et bricoleur très très peu avec l'administration du système. – berlinguyinca

Répondre

0

Vous avez raison. Nous avions aussi un problème similaire et nous ne pouvions que mettre à jour le serviceCIDR qui était routable sur notre réseau. Nous ne sommes pas allés là-bas. HAProxy est http/https..pendant que les services supportent tcp/udp et mongodb: 27017 repose sur UDP. Je voudrais aussi en savoir plus à ce sujet si quelqu'un d'autre peut partager.