Wayang, alat manajemen konfigurasi yang terkenal untuk sistem berbasis Unix dan Windows yang memungkinkan administrator untuk dengan mudah mengotomatiskan tugas administrasi sistem yang berulang dan rawan kesalahan – yang mencakup penyediaan, pemasangan paket/perangkat lunak, konfigurasi, dan pengelolaan seluruh infrastruktur. Wayang hadir dalam dua rasa – Puppet Enterprise dan Puppet open source. Seperti namanya, versi perusahaan adalah produk komersial dan versi open source gratis untuk diunduh. Tutorial ini akan membahas cara menginstal dan mengkonfigurasi Puppet open source (versi 4) pada sistem berbasis CentOS dan Ubuntu.
Sebelum kita mulai dengan prosedur instalasi, mari kita pahami arsitektur wayang.
Arsitektur Wayang Master/Agen
Puppet umumnya bekerja berdasarkan model Client/Server – yaitu arsitektur berbasis Master/Agent, yaitu Puppet Master dan Puppet Agent. Master Wayang mengontrol informasi konfigurasi dan node Agen Wayang terkelola meminta katalog konfigurasi mereka sendiri. Diagram di bawah menggambarkan aliran komunikasi antara node master dan agen.
Apa itu katalog?
Katalog adalah dokumen yang berisi informasi tentang keadaan yang diinginkan dari suatu sistem. Master Wayang mengkompilasi katalog dan agen Wayang menerapkannya.
Lingkungan Instalasi Wayang
Dalam tutorial ini, saya akan menggunakan dua node – puppetmaster.test.in (Puppet Master) dan puppetagent.test.in (Puppet Agent) (mereka adalah VM yang berjalan di OpenStack)
Bagaimana Cara Memasang dan Mengonfigurasi Wayang 4?
Langkah 1: Langkah pertama adalah memeriksa visibilitas jaringan antara node master dan agen. Anda akan memastikan bahwa domain ini diselesaikan melalui DNS atau dari file host.
Pada simpul Wayang Guru:
# ping puppetagent PING puppetagent.test.in (10.180.141.126) 56(84) bytes of data. 64 bytes from puppetagent.test.in (10.180.141.126): icmp_seq=1 ttl=64 time=0.347 ms --- puppetagent.test.in ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.347/0.347/0.347/0.000 ms
Pada simpul Agen Wayang:
# ping puppetmaster PING puppetmaster.test.in (10.180.141.125) 56(84) bytes of data. 64 bytes from puppetmaster.test.in (10.180.141.125): icmp_seq=1 ttl=64 time=0.711 ms 64 bytes from puppetmaster.test.in (10.180.141.125): icmp_seq=2 ttl=64 time=0.316 ms --- puppetmaster.test.in ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.316/0.513/0.711/0.198 ms
Langkah 2: Instal NTP
Node Master Wayang akan bertindak sebagai C sertifikat A uthority (CA) dan mengeluarkan sertifikat untuk node agen. Artinya, node Master harus sinkron dengan waktu yang tepat untuk menghindari masalah saat mengeluarkan sertifikat ke node agen. Jadi, Anda perlu menginstal NTP dan menyinkronkannya dengan server waktu pilihan Anda.
Periksa zona waktu yang tersedia di node Master:
# timedatectl list-timezones
Setel zona waktu regional yang tepat:
# timedatectl set-timezone Asia/Kolkata
Instal NTP:
# yum install ntp
Sinkronkan dengan server waktu pilihan Anda:
# ntpdate pool.ntp.org
Buka ntp.conf dan tambahkan server waktu pilihan Anda.
# vim /etc/ntp.conf
Simpan dan keluar.
Mulai dan aktifkan layanan NTP:
# systemctl restart ntpd # systemctl enable ntpd
Catatan :Anda juga dapat mengonfigurasi NTP pada node agen – Untuk melakukannya, cukup ikuti Langkah 2 pada node Agen Wayang juga.
Instal Server Wayang (pada node Master)
Puppet server adalah program yang berjalan pada node master Wayang dan seperti yang digambarkan dalam diagram arsitektur, layanan ini akan membuat katalog dan mendorong konfigurasi ke node agen Wayang.
Langkah 1: Untuk menginstal layanan Wayang, Anda harus mengaktifkan repositori koleksi Wayang atau paket rilis. Untuk sistem operasi berbasis Yum, Anda dapat menemukan paketnya di yum.puppetlabs.com dan untuk sistem berbasis Apt di apt.puppetlabs.com .
Di CentOS, saya akan menggunakan repositori boneka berdasarkan paket rpm.
# rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm puppetlabs-release-pc1-1.0.0-2.el################################# [100%]
Di Ubuntu:
# wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
# dpkg -i puppetlabs-release-pc1-xenial.deb Selecting previously unselected package puppetlabs-release-pc1. (Reading database ... 205725 files and directories currently installed.) Preparing to unpack puppetlabs-release-pc1-xenial.deb ... Unpacking puppetlabs-release-pc1 (1.0.0-2xenial) ... Setting up puppetlabs-release-pc1 (1.0.0-2xenial) ...
# apt-get update
Instal paket server Wayang:
Di CentOS:
# yum -y install puppetserver
Di Ubuntu:
# apt-get install puppetserver
Mulai server Wayang:
# systemctl start puppetserver
(atau)
# service puppetserver start
Aktifkan server boneka untuk memulai selama boot sistem
# systemctl enable puppetserver
(atau)
# chkconfig puppetserver on
Memasang Agen Boneka (pada node Agen)
Kami akan menginstal layanan Agen Wayang di node agen dan ini adalah node yang menerima katalog dari node master Wayang dan menerapkannya.
Aktifkan penyimpanan koleksi Wayang:
# rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
Di Ubuntu:
# wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
# dpkg -i puppetlabs-release-pc1-xenial.deb Selecting previously unselected package puppetlabs-release-pc1. (Reading database ... 205725 files and directories currently installed.) Preparing to unpack puppetlabs-release-pc1-xenial.deb ... Unpacking puppetlabs-release-pc1 (1.0.0-2xenial) ... Setting up puppetlabs-release-pc1 (1.0.0-2xenial) ...
$ sudo apt-get update
Pasang Agen Wayang:
Di CentOS:
# yum -y install puppet-agent
Di Ubuntu:
# apt-get install puppet-agent
Mulai Agen Boneka:
Secara default, agen akan merujuk node master Wayang sebagai 'boneka'. Juga perintah di bawah ini akan menampilkan nama host yang akan digunakan Agen untuk terhubung ke Master.
# /opt/puppetlabs/puppet/bin/puppet agent --configprint server puppet
# /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true Notice: /Service[puppet]/ensure: ensure changed 'stopped' to 'running' service { 'puppet': ensure => 'running', enable => 'true', }
Catatan :Cari server pengaturan di puppet.conf untuk mengubah nama host dari Wayang Guru.
Catatan :Secara default, Wayang akan dipasang di bawah /opt/puppetlabs folder.
Minta sertifikat untuk node Agen ke otoritas sertifikat
Node master Wayang akan bertindak sebagai otoritas sertifikat, yang menandatangani sertifikat node agen.
# /opt/puppetlabs/puppet/bin/puppet agent -t Info: Caching certificate for ca Info: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml Info: Creating a new SSL certificate request for puppetagent.test.in Info: Certificate Request fingerprint (SHA256): BF:E9:8B:85:ED:61:B4:D5:61:2E:F2:C4:0B:0A:24:A3:D5:17:B5:E3:B4:54:53:4F:C7:39:7F:FE:49:1B:AF:4A Info: Caching certificate for ca Exiting; no certificate found and waitforcert is disabled
Pada node Wayang Master – Menandatangani permintaan sertifikat Agen
Mencantumkan permintaan sertifikat saat ini:
# /opt/puppetlabs/puppet/bin/puppet cert list "puppetagent.test.in" (SHA256) BF:E9:8B:85:ED:61:B4:D5:61:2E:F2:C4:0B:0A:24:A3:D5:17:B5:E3:B4:54:53:4F:C7:39:7F:FE:49:1B:AF:4A
Menandatangani sertifikat:
# /opt/puppetlabs/puppet/bin/puppet cert sign puppetagent.test.in Notice: Signed certificate request for puppetagent.test.in Notice: Removing file Puppet::SSL::CertificateRequest puppetagent.test.in at '/etc/puppetlabs/puppet/ssl/ca/requests/puppetagent.test.in.pem'
Melihat semua permintaan yang ditandatangani:
# /opt/puppetlabs/puppet/bin/puppet cert list --all + "puppetagent.test.in" (SHA256) 0F:41:D0:67:78:BB:7B:48:F8:4B:10:10:C4:F9:FD:DD:46:19:34:4B:BE:4D:6F:4B:2F:45:57:86:33:C2:BC:45 + "puppetmaster.test.in" (SHA256) 4A:F3:F7:C0:81:7D:76:49:77:31:81:B1:70:50:AE:EE:F9:49:95:22:B0:24:0C:08:C3:5E:30:E6:29:75:28:07 (alt names: "DNS:puppet", "DNS:puppetmaster.test.in")
Dan Anda selesai! Infrastruktur Wayang pertama Anda sudah siap.
Mari kita uji Wayang
Wayang menggunakan alat yang disebut Fakta mengumpulkan informasi (fakta) tentang Wayang. Secara default, informasi seperti nama sistem operasi, versi, nama host, alamat IP, Kunci SSH, dll. dikumpulkan. Tapi itu memungkinkan Anda untuk menambahkan fakta khusus juga, yang akan saya bahas di artikel terpisah.
Bagaimana fakta berguna?
Saat membuat template konfigurasi, Anda mungkin ingin mengambil fakta secara otomatis (misalnya alamat IP dari node agen) dan mengisinya di lokasi yang sesuai. Demikian pula, Anda mungkin ingin membaca nama host dari node agen dan menggunakannya dalam template konfigurasi.
Perintah di bawah ini (jalankan pada node Master) akan mencantumkan semua fakta yang dikumpulkan dari node Agen.
# /opt/puppetlabs/puppet/bin/facter
Contoh keluaran:
::::::::::::::::::::::::::::::: partitions => { /dev/vda1 => { filesystem => "xfs", mount => "/", size => "39.99 GiB", size_bytes => 42943138304, uuid => "6c8f1327-a7c0-40a2-8bb3-89ea95a69d82" } } path => /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin processors => { count => 2, isa => "x86_64", models => [ "Intel Core Processor (Haswell, no TSX)", "Intel Core Processor (Haswell, no TSX)" ], physicalcount => 2 } :::::::::::::::::::::::::::::::::::::::::
Itu dia! Sekarang Anda perlu memahami Manifes dan modul untuk menggunakan Wayang secara efektif .