2015-10-26 10 views
7

में सक्षम नहीं हो रहा है मैंने एक उदाहरण पर कंसुल सेट किया है। web-ui पूरी तरह से चल रहा है लेकिन एसीएल सक्षम नहीं हैं। पहले मेरे पास कोई कॉन्फ़िगरेशन फ़ाइल नहीं थी लेकिन अब मैंने फ़ाइल को /etc/consul.d/bootstrap/ में निम्न सामग्री के साथ बनाया है।एसीएल कंसुल

{ 
    "bootstrap": true, 
    "server": true, 
    "datacenter": "dc1", 
    "acl_datacenter": "dc1", 
    "data_dir": "/var/consul", 
    "encrypt": "consul keygen output", 
    "ca_file": "/etc/consul.d/ssl/ca.cert", 
    "cert_file": "/etc/consul.d/ssl/consul.cert", 
    "key_file": "/etc/consul.d/ssl/consul.key", 
    "verify_incoming": true, 
    "verify_outgoing": true, 
    "log_level": "INFO", 
    "enable_syslog": true 
} 

से मैं निम्न आदेश भागा

वाणिज्य दूत एजेंट -server -bootstrap डाटा-निर्देशिका/tmp/वाणिज्य दूत -ui-निर्देशिका /घर/Ubuntu/जिले/-client = XXXX

जहां X.X.X.X मेरी उदाहरण

के निजी आईपी है लेकिन एसीएल सक्षम नहीं हो रहे हैं।

/etc/consul.d/server/config.json

{ 
    "bootstrap": false, 
    "server": false, 
    "log_level": "DEBUG", 
    "enable_syslog": true, 
    "datacenter": "dc1", 
    "data_dir": "/var/consul", 
    "ui_dir": "/home/ubuntu/dist", 
    "acl_datacenter": "dc1" 
    "encrypt": "SECRET" 
} 

/etc/consul.d/server/config.json

{ 
    "bootstrap": false, 
    "server": true, 
    "log_level": "DEBUG", 
    "enable_syslog": true, 
    "datacenter": "dc1", 
    "data_dir": "/var/consul", 
    "acl_datacenter": "dc1", 
    "acl_default_policy": "allow", 
    "encrypt": "SECRET" 
} 

वर्किंग कॉन्फ़िगरेशन फ़ाइल

{ 
    "bootstrap": true, 
    "server": true, 
    "log_level": "DEBUG", 
    "enable_syslog": true, 
    "datacenter": "dc1", 
    "addresses" : { 
     "http": "X.X.X.X" 
    }, 
    "bind_addr": "X.X.X.X", 
    "node_name": "X.X.X.X", 
    "data_dir": "/tmp/consul", 
    "ui_dir": "~/dist", 
    "acl_datacenter": "dc1", 
    "acl_master_token": "secret", 
    "encrypt": "secret" 
} 

अब निम्न आदेश

consul agent -config-dir ~/server -ui-dir ~/dist -bootstrap true -client=X.X.X.X 
+0

चूंकि आप केवल एक ही उदाहरण चला रहे हैं, इसलिए कृपया '/ etc/consul.d/server' और'/etc/consul.d/client' निर्देशिकाओं में मौजूद 'config.json' की कॉन्फ़िगरेशन पोस्ट करें। –

+0

@AnkitKulkarni आवश्यक 'config.json' फ़ाइल की सामग्री को जोड़ा गया –

उत्तर

4

आप अपने विन्यास में मास्टर टोकन याद कर रहे हैं चलाते हैं। यदि आप इसे जोड़ते हैं,

"acl_master_token": "secret", और अपने यूआई में एक ही टोकन का उपयोग करें, तो आप एसीएल का उपयोग करने में सक्षम होना चाहिए।

नोट: यदि आप एक एकल नोड उदाहरण का उपयोग कर रहे हैं, तो acl_token प्रॉपर्टी को अपने मास्टर टोकन के समान सेट न करें। इसका मतलब यह होगा कि यूआई तक पहुंच वाले किसी भी व्यक्ति को master token तक पहुंच होगी, अनिवार्य रूप से आपके सभी एसीएल नियमों को छोड़कर। यह संपत्ति केवल सर्वर नोड्स पर ही सेट की जानी चाहिए।

इसे अच्छी तरह से चलाने के बाद, मैंने एक सर्वर पर consul सेटअप करने का तरीका दिखाने के लिए एक स्क्रीनकास्ट बनाया। Here is the link

+0

मुझे आपकी बात नहीं मिली, "एसीएल के संपादन के लिए अपेक्षित टोकन की तरह एसीएल_मास्टर_टोकन 'आपके मास्टर टोकन के रूप में एक्ल_टोकन प्रॉपर्टी सेट न करें" –

+0

'acl_master_token'। और 'acl_token' उस क्लाइंट/सर्वर द्वारा सबमिट टोकन है। केवल सर्वरों में 'acl_token' होना चाहिए जैसा कि 'acl_master_token'' है। क्लाइंट पर उन्हें सेट करना आपके एसीएल को अक्षम कर देगा। – cskksc

+0

मैंने बूटस्ट्रैप कॉन्फ़िगरेशन और सर्वर कॉन्फ़िगरेशन फ़ाइल में acl_master_token जोड़ा। सेटिंग अनुभाग के तहत वेब-यूई में एक ही टोकन भी जोड़ा गया। और 'कंसुल एजेंट-सर्वर-बूटस्ट्रैप -डेटा-डीआईआर/टीएमपी/कंसुल -ui-dir/home/ubuntu/dist/-client = X.X.X.X' कमांड द्वारा कंसुल शुरू किया, फिर भी यह दिखाता है कि एसीएल अक्षम हैं। –

संबंधित मुद्दे