Docker
1.12 झुंड कर्ता में कौंसल चलाते हैं
खोज…
एक कबूतर 1.12 झुंड में कौंसल चलाएँ
यह डॉक 1.12 में नए झुंड मोड के साथ एक डॉक झुंड में क्लस्टर मोड में कौंसुल चलाने के लिए आधिकारिक वाणिज्य दूतावास छवि पर निर्भर करता है। यह उदाहरण http://qnib.org/2016/08/11/consul-service/ पर आधारित है। संक्षेप में विचार यह है कि दो docker swarm सेवाओं का उपयोग करें जो एक दूसरे से बात करते हैं। यह उस समस्या को हल करता है जिसे आप अलग-अलग कंसुल कंटेनर के ips को नहीं जान सकते हैं और आपको docker swarm के डीएनएस पर भरोसा करने की अनुमति देता है।
यह मानता है कि आपके पास कम से कम तीन नोड्स के साथ 1.12 झुंड क्लस्टर चल रहा है।
आप अपने डॉक डेमॉन पर लॉग ड्राइवर को कॉन्फ़िगर करना चाह सकते हैं ताकि आप देख सकें कि क्या हो रहा है। मैंने इसके लिए syslog चालक का उपयोग किया: dologd पर --log- --log-driver=syslog
विकल्प सेट करें।
पहले वाणिज्य के लिए एक ओवरले नेटवर्क बनाएं:
docker network create consul-net -d overlay
अब क्लस्टर को केवल 1 नोड के साथ बूट करें (डिफ़ॉल्ट --replicas 1 है):
docker service create --name consul-seed \
-p 8301:8300 \
--network consul-net \
-e 'CONSUL_BIND_INTERFACE=eth0' \
consul agent -server -bootstrap-expect=3 -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300
अब आपके पास 1 नोड क्लस्टर होना चाहिए। अब दूसरी सेवा लाएँ:
docker service create --name consul-cluster \
-p 8300:8300 \
--network consul-net \
--replicas 3 \
-e 'CONSUL_BIND_INTERFACE=eth0' \
consul agent -server -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300
अब आपके पास चार नोड कॉन्सल क्लस्टर होना चाहिए। आप इसे किसी भी डॉकटर कंटेनर पर चलाकर सत्यापित कर सकते हैं:
docker exec <containerid> consul members