कठपुतली - स्थापित करना और r10K कॉन्फ़िगर करना
कठपुतली में, हमारे पास एक कोड प्रबंधन उपकरण है जिसे r10k के रूप में जाना जाता है जो विभिन्न प्रकार के वातावरण से संबंधित पर्यावरण विन्यासों को प्रबंधित करने में मदद करता है जिसे हम कठपुतली जैसे विकास, परीक्षण और उत्पादन में कॉन्फ़िगर कर सकते हैं। यह स्रोत कोड भंडार में पर्यावरण से संबंधित कॉन्फ़िगरेशन को संग्रहीत करने में मदद करता है। स्रोत नियंत्रण रेपो शाखाओं का उपयोग करते हुए, r10k कठपुतली मास्टर मशीन इंस्टॉल पर वातावरण बनाता है और रेपो में मौजूद मॉड्यूल का उपयोग करके पर्यावरण को अपडेट करता है।
जेम फ़ाइल का उपयोग किसी भी मशीन पर r10k को स्थापित करने के लिए किया जा सकता है लेकिन मॉड्यूलरिटी के लिए और नवीनतम संस्करण को प्राप्त करने के लिए, हम rpm और rpm पैकेज मैनेजर का उपयोग करेंगे। निम्नलिखित उसी के लिए एक उदाहरण है।
$ urlgrabber -o /etc/yum.repos.d/timhughes-r10k-epel-6.repo
https://copr.fedoraproject.org/coprs/timhughes/yum -y install rubygem-r10k
/Etc/puppet/puppet.conf में पर्यावरण कॉन्फ़िगर करें
[main]
environmentpath = $confdir/environments
R10k विन्यास के लिए एक विन्यास फाइल बनाएँ
cat <<EOF >/etc/r10k.yaml
# The location to use for storing cached Git repos
:cachedir: '/var/cache/r10k'
# A list of git repositories to create
:sources:
# This will clone the git repository and instantiate an environment per
# branch in /etc/puppet/environments
:opstree:
#remote: 'https://github.com/fullstack-puppet/fullstackpuppet-environment.git'
remote: '/var/lib/git/fullstackpuppet-environment.git'
basedir: '/etc/puppet/environments'
EOF
कठपुतली मैनिफेस्ट और मॉड्यूल स्थापित करना
r10k deploy environment -pv
जैसा कि हमें हर 15 मिनट में पर्यावरण को अपडेट करना जारी रखने की आवश्यकता है, हम उसी के लिए क्रॉन जॉब बनाएंगे।
cat << EOF > /etc/cron.d/r10k.conf
SHELL = /bin/bash
PATH = /sbin:/bin:/usr/sbin:/usr/bin
H/15 * * * * root r10k deploy environment -p
EOF
परीक्षण स्थापना
यदि सब कुछ स्वीकार किए जाते हैं, तो परीक्षण करने के लिए, किसी को कठपुतली मॉड्यूल के कठपुतली प्रदर्शन को संकलित करने की आवश्यकता है। निम्न आदेश चलाएँ और परिणाम के रूप में एक YAML आउटपुट प्राप्त करें।
curl --cert /etc/puppet/ssl/certs/puppet.corp.guest.pem \
--key /etc/puppet/ssl/private_keys/puppet.corp.guest.pem \
--cacert /etc/puppet/ssl/ca/ca_crt.pem \
-H 'Accept: yaml' \
https://puppet.corp.guest:8140/production/catalog/puppet.corp.guest