यह कंसोल सर्वर नोड, किसी अन्य DC में, इसे निकालने के कुछ समय बाद जुड़ता रहता है।
लक्ष्य:
डीसी में 5 कॉन्सल सर्वर का एक क्लस्टर alpha0
, जिसका केवी स्टोर एक alpha0
वॉल्ट क्लस्टर एक स्टोरेज बैकेंड के रूप में उपयोग करता है:
alpha0consulserver1.alpha0
alpha0consulserver2.alpha0
alpha0consulserver3.alpha0
alpha0consulserver4.alpha0
alpha0consulserver5.alpha0
डीसी में 5 कॉन्सल सर्वर का एक क्लस्टर prd0
, जिसका केवी स्टोर एक prd0
वॉल्ट क्लस्टर एक स्टोरेज बैकेंड के रूप में उपयोग करता है:
prd0consulserver1.prd0
prd0consulserver2.prd0
prd0consulserver3.prd0
prd0consulserver4.prd0
prd0consulserver5.prd0
वान कनेक्शन ठीक है। लेकिन मुझे चिंता है कि यदि वे अपने KV स्टोर को सिंक करते हैं, तो यह दो अलग-अलग HashiCorp वॉल्ट समूहों को प्रभावित कर सकता है जो प्रत्येक उन्हें बैक-एंड के रूप में उपयोग करते हैं।
समस्या:
खराब लिखी गई पपेट स्क्रिप्ट जो मैंने लिखी है, जिसके परिणामस्वरूप एक कॉन्सल नोड है prd0consulserver5
, जो एक अलग डीसी में दूसरे को जोड़ता है alpha0consulserver1
।
मैंने prd0consulserver5 के लिए कॉन्सुल को पूरी तरह से शुद्ध और फिर से स्थापित किया है, लेकिन इससे जुड़ता alpha0consulserver1
रहता है।
यहाँ विन्यास फाइल में से एक का उदाहरण दिया गया है, विशेष रूप से, अल्फा 0 कॉन्सुलसर्वर 1.alpha0 के लिए।
nathan-basanese-zsh8 % sudo cat /etc/consul/config.json
{
"bind_addr": "192.176.100.1",
"client_addr": "0.0.0.0",
"data_dir": "/opt/consul",
"domain": "consul.basanese.com",
"bootstrap_expect": 5,
"enable_syslog": true,
"log_level": "DEBUG",
"datacenter": "bts0",
"node_name": "alpha0consulserver1",
"ports": {
"http": 8500,
"https": 8501
},
"recursors": ["192.176.176.240", "192.176.176.241"],
"server": true,
"retry_join": ["192.176.100.3", "192.176.100.2", "192.176.100.1"]
}
यहां कुछ प्रासंगिक लॉग दिए गए हैं prd0consulserver5
, लेकिन मैं अनुरोध पर अधिक पोस्ट कर सकता हूं:
2017/05/26 23:38:00 [DEBUG] memberlist: Stream connection from=192.176.100.1:47239
2017/05/26 23:38:00 [INFO] serf: EventMemberJoin: alpha0consulserver2.alpha0 192.176.100.2
2017/05/26 23:38:00 [INFO] serf: EventMemberJoin: alpha0consulserver1.alpha0 10.240.112.3
2017/05/26 23:38:00 [INFO] consul: Handled member-join event for server "alpha0consulserver2.bts0" in area "wan"
2017/05/26 23:38:00 [INFO] serf: EventMemberJoin: alpha0consulserver3.alpha0 192.176.100.3
2017/05/26 23:38:00 [INFO] consul: Handled member-join event for server "alpha0consulserver1.bts0" in area "wan"
2017/05/26 23:38:00 [INFO] consul: Handled member-join event for server "alpha0consulserver3.bts0" in area "wan"
आखिरकार, मुझे यह मिलता है:
2017/05/26 23:39:02 [DEBUG] memberlist: Initiating push/pull sync with: 192.176.100.2
मैं नोड को बंद कर देता हूं, क्योंकि मैं नहीं चाहता कि चाबियाँ मैं केवी स्टोर पर alpha0
नोड्स पर लिखूं prd0
।
मैंने अब तक क्या प्रयास किया है:
मैंने निम्नलिखित कोशिश की है:
https://www.consul.io/api/agent.html#graceful-leave-and-shutdown
मैंने कोशिश नहीं की force-leave
क्योंकि यह कॉन्फ़िगर डीसी के बाहर नोड पर काम नहीं करता है।
मैंने prod0
मेजबानों से सभी मेजबानों को अलग करने की भी कोशिश की alpha0
है।
https://www.consul.io/api/catalog.html#deregister-entity
मैं अपनी बुद्धि के अंत में हूँ, यहाँ, और कोई रास्ता नहीं ढूंढ सकता
मैंने इस क्वेरी और इसी तरह के कई प्रश्नों का उपयोग करके इसे खोज इंजन पर खोजा है: https://duckduckgo.com/?q=totally+deregister+consul+node&t=hc&ia=software
निम्नलिखित दो परिणामों में थोड़ी समान समस्या थी, लेकिन 5 कॉन्सल सर्वर के क्लस्टर को 5 कॉन्सल सर्वर के किसी अन्य क्लस्टर से अलग रखने के लिए कुछ भी सरल नहीं है।
https://github.com/hashicorp/consul/issues/1188 https://groups.google.com/forum/@msg/consul-tool/bvJeP1c3Ujs/EvSZoY4ZFgAJ
मुझे लगता है कि इसे "join_wan":
कॉन्फ़िगरेशन सेटिंग द्वारा नियंत्रित किया जा सकता है , लेकिन यह स्पष्ट रूप से इसे बंद करने का एक तरीका नहीं है। साथ ही, इस समस्या को ठीक करने के लिए एक हैक-आई तरीका की तरह लगता है।
मैंने IPTables भी माना है।
वैसे भी, मुझे लगता है कि कुछ याद आ रहा है। मैंने रफ़ प्रोटोकॉल में खुदाई शुरू कर दी है, लेकिन मुझे ऐसा लगता है कि शायद मैंने अपनी खोज में एक स्पर्शरेखा पर जाना शुरू कर दिया है। किसी भी मार्गदर्शन की सराहना की, यह एक टिप्पणी या एक जवाब हो।
अधिक सटीक रूप से, मैं prd0
कॉन्सुल सर्वर नोड्स को अपने अलग केवी स्टोर और कॉन्सुल लीडर को alpha0
कॉन्सुल सर्वर नोड्स से कैसे रखता हूं ?
consul operator raft remove-peer
है, लेकिन मैं बेसब्री के बारे में कैसे समस्या पहली जगह में होता है, यहाँ जानकारी का इंतजार है: github.com/hashicorp/consul/issues/3218#issuecomment-312721634