2017-01-26 1 views
0

J'ai installé MongoDB Replica dans le catalogue Rancher et cela démarre très bien. La prochaine chose logique à faire est d'exposer le maître afin que je puisse le configurer et l'utiliser. J'ai vu que je pourrais exposer le port TCP 27017 avec un équilibreur de charge, mais ce sera alors round robin au lieu d'avoir une affinité avec le maître mongo.Rancher MongoDB Replica Set exposer le maître

Existe-t-il un moyen dans Rancher d'exposer uniquement le maître?

+0

je ne pouvais pas comprendre cela non plus. Toutes les instances mongodb sont exposées sur le réseau privé, donc je viens de recueillir leurs adresses IP et entré une chaîne de connexion sous la forme de 'mongodb: // {privateip1}: 27017, {privateip2}: 27017, {privateip3}: 27017morpheus-dev 'Je suppose qu'il existe une meilleure façon de faire cela – CaptEmulation

+0

Oui, ce ne serait pas idéal parce que vous utiliserez ce port sur tous ces hôtes. La meilleure façon dont je pensais était de configurer HAProxy pour le faire. – occasl

Répondre

0

Pensez à utiliser pour ce HAProxy selon cette article qui décrit cette approche:

listen mongodb_cluster 
bind 10.0.0.10:27017 
option tcp-check 
# MongoDB Wire Protocol 
tcp-check send-binary 3a000000 # Message Length (58) 
tcp-check send-binary EEEEEEEE # Request ID (random value) 
tcp-check send-binary 00000000 # Response To (nothing) 
tcp-check send-binary d4070000 # OpCode (Query) 
tcp-check send-binary 00000000 # Query Flags 
tcp-check send-binary 61646d696e2e # fullCollectionName (admin.$cmd) 
tcp-check send-binary 24636d6400 # continued 
tcp-check send-binary 00000000 # NumToSkip 
tcp-check send-binary FFFFFFFF # NumToReturn 
# Start of Document 
tcp-check send-binary 13000000 # Document Length (19) 
tcp-check send-binary 10 # Type (Int32) 
tcp-check send-binary 69736d617374657200 # ismaster: 
tcp-check send-binary 01000000 # Value : 1 
tcp-check send-binary 00 # Term 

tcp-check expect binary 69736d61737465720001 #ismaster True 

option tcpka 
option tcplog 
server mongo-node-01 10.0.0.11:27017 check inter 2000 
server mongo-node-02 10.0.0.12:27017 check inter 2000