मैं Ansible के साथ कुछ मशीनें स्थापित कर रहा हूं और उनके बीच पासवर्ड कम कनेक्शन सक्षम करने की आवश्यकता है। मुझे एक डेटाबेस मास्टर और कई दास मिले हैं। प्रारंभिक प्रतिकृति के लिए दासों को मास्टर में ssh और डेटाबेस की एक प्रति प्राप्त करने की आवश्यकता होती है। मुझे यकीन नहीं है कि मास्टर्स authorized_keys
फाइल में सभी दास सार्वजनिक कुंजियों को गतिशील रूप से जोड़ने का सबसे अच्छा तरीका क्या है ।
मैंने पहले ही दासों को चर के रूप में सार्वजनिक कुंजी प्रदान करने के बारे में सोचा और फिर उन्हें authorized_key
मॉड्यूल के माध्यम से जोड़ा । लेकिन फिर मुझे चाबियों की सूची को बनाए रखना चाहिए। मैं एक ऐसे दृष्टिकोण की तलाश कर रहा हूं जहां मैं सिर्फ एक और मेजबान को गुलामों के समूह में जोड़ता हूं और बाकी अपने आप काम करेगा।
कोई विचार?
अपडेट करें:
अब तक मुझे निम्नलिखित छद्म कोड मिला है:
# collect public keys from slave machines
- name: collect slave keys
{% for host in groups['databases_slave'] %}
shell: /bin/cat /var/lib/postgresql/.ssh/id_rsa.pub
register: slave_keys #how to add to an array here?
{% endfor %}
# Tasks for PostgreSQL master
- name: add slave public key
sudo: yes
authorized_key: user=postgres state=present key={{ item }}
with_items: slave_keys
{% %}
केवल टेम्प्लेट फ़ाइलों में लूप काम करता है और सीधे प्लेबुक में नहीं। मेरी प्लेबुक में ऐसा करने का कोई तरीका?