Puppet adalah alat manajemen konfigurasi sumber terbuka yang membantu kami mengotomatiskan infrastruktur TI, termasuk penyediaan, manajemen konfigurasi, patching ratusan sistem klien dari lokasi pusat.
Wayang tersedia untuk sistem operasi Linux, Mac, BSD, Solaris, dan Windows. Itu ditulis dalam bahasa "Ruby" dan dirilis di bawah Lisensi Apache,
Panduan ini membantu Anda menginstal Puppet di CentOS 8 / RHEL 8.
Arsitektur
Pupper dikonfigurasi dalam arsitektur agen-master. Dalam arsitektur ini, node yang dikelola menjalankan perangkat lunak agen boneka, sebagai layanan latar belakang. Di sisi lain, satu atau lebih server menjalankan aplikasi master, mis. Server boneka.
Agen wayang secara berkala mengirimkan fakta kepada dalang dan meminta katalog. Master mengkompilasi dan mengembalikan katalog node tertentu, menggunakan sumber informasi yang dapat diaksesnya.
Lingkungan
Di sini, kita akan mengonfigurasi boneka dalam arsitektur Server/agen.
Tuan Boneka
Nama Inang: wayangserver.itzgeek.local
Alamat IP: 192.168.0.10
Sistem Operasi: CentOS 8
Klien boneka
Nama Inang: client.itzgeek.local
Alamat IP: 192.168.0.20
Sistem Operasi: CentOS 8
Prasyarat
Instal NTP
Waktu node master dan klien harus sinkron secara akurat dengan server NTP karena server Wayang akan bertindak sebagai otoritas sertifikat.
Jika Anda perlu menyiapkan Server NTP, maka:
BACA: Cara Konfigurasi Server NTP Menggunakan Chrony
Jika Anda perlu menyiapkan Klien NTP, maka:
BACA: Cara Mengonfigurasi Klien NTP Menggunakan Chrony
Jika perlu, ubah juga zona waktu sistem.
BACA :Cara Mengubah Zona Waktu di CentOS 8 / RHEL 8
DNS
Agen Wayang menggunakan nama host untuk berkomunikasi dengan Server Wayang. Jadi, pastikan node agen dapat menyelesaikan nama host Server Wayang dengan bantuan file /etc/hosts atau server DNS.
Instal &Konfigurasi Server Boneka
Puppet Server adalah software server yang berjalan pada master node. Puppet Server mengontrol konfigurasi node yang dikelola (puppet-agent).
Tambahkan Repositori
Untuk menginstal Server Wayang, kita perlu menambahkan repositori boneka dengan menginstal paket konfigurasi repositori.
rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm
Instal Wayang
Instal server Wayang menggunakan perintah di bawah ini.
yum install -y puppetserver
Alokasi Memori
Secara default, Puppet Server dikonfigurasi untuk menggunakan memori 2GB. Anda dapat mengubah alokasi memori berdasarkan jumlah node yang terhubung dengannya.
Untuk demo ini, saya akan mengalokasikan memori 512MB.
Untuk mengubah nilai alokasi memori, edit file di bawah ini.
vi /etc/sysconfig/puppetserver
Ubah nilainya.
Dari:
JAVA_ARGS="-Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
Kepada:
Untuk 512MB, gunakan pengaturan di bawah ini.
JAVA_ARGS="-Xms512m -Xmx512m -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
Konfigurasi Server Boneka
File konfigurasi Wayang terdiri dari dua bagian yang masing-masing diberi nama [master] dan [main] untuk server dan agen Pupper.
vi /etc/puppetlabs/puppet/puppet.conf
Ubah file sesuai dengan lingkungan Anda. Agen Pupper dapat menggunakan salah satu nama host yang disebutkan di dns_alt_names untuk terhubung dengan server Pupper.
# Pupper Server Configuration [master] dns_alt_names = puppetserver,puppetserver.itzgeek.local # Puppet Agent Configuration [main] certname = puppetserver.itzgeek.local server = puppetserver.itzgeek.local runinterval = 30m
Mulai Server Wayang
Buat CA penandatanganan root dan perantara untuk Puppet Server.
puppetserver ca setup
Output: Generation succeeded. Find your files in /etc/puppetlabs/puppet/ssl/caJika Anda mendapatkan boneka server:perintah tidak ditemukan, jalankan source /etc/profile.d/puppet-agent.sh di terminal atau keluar dari sesi saat ini dan masuk kembali.
Mulai dan aktifkan Server Wayang.
systemctl start puppetserver
systemctl enable puppetserver
Firewall
Server Wayang mendengarkan pada port 8140. Jadi, konfigurasikan firewall agar agen dapat terhubung ke master.
firewall-cmd --permanent --add-port=8140/tcp
firewall-cmd --reload
Instal &Konfigurasi Agen Boneka
Tambahkan Repositori
Untuk menginstal agen Wayang, kita perlu menambahkan repositori boneka di semua node.
rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm
Instal Agen
Instal agen boneka di klien Anda menggunakan perintah di bawah ini.
dnf install -y puppet-agent
Edit file konfigurasi boneka dan atur informasi server Wayang.
Tetapkan nilai server sesuai dengan nama host server Wayang Anda. Dalam kasus saya, servernya adalah puppetserver.itzgeek.local dan certname adalah nama host klien saya (client.itzgeek.local).
vi /etc/puppetlabs/puppet/puppet.conf
Atur seperti di bawah ini.
[main] server = puppetserver.itzgeek.local certname = client.itzgeek.local runinterval = 30m
Anda dapat mengubah nilai runinterval tergantung pada kebutuhan. Pengaturan ini mengontrol berapa lama agen harus menunggu antara dua permintaan katalog. Anda dapat mengatur nilainya dalam detik (10 atau 10 detik), menit (10 m), dan jam (1 jam).
Mulai agen boneka di node dan membuatnya mulai secara otomatis pada boot sistem.
puppet resource service puppet ensure=running enable=true
Output: Notice: /Service[puppet]/ensure: ensure changed 'stopped' to 'running' service { 'puppet': ensure => 'running', enable => 'true', provider => 'systemd', }Jika Anda mendapatkan boneka:perintah tidak ditemukan, jalankan source /etc/profile.d/puppet-agent.sh di terminal atau keluar dari sesi saat ini dan masuk kembali.
Menandatangani Sertifikat Node Agen di Server Master
Kita harus menyetujui permintaan sertifikat yang datang dari setiap node. Node agen akan meminta sertifikat untuk pertama kalinya jika mencoba dijalankan.
Jalankan perintah di bawah ini pada node agen untuk membuat koneksi awal. Anda dapat mengabaikan peringatan/kesalahan.
puppet agent -t
Masuk ke server Pupper dan jalankan perintah di bawah ini untuk melihat permintaan yang belum diselesaikan.
puppetserver ca list
Output: Requested Certificates: client.itzgeek.local (SHA256) 06:D8:8E:AE:CA:0B:B1:E7:90:B5:B9:1B:75:3C:95:69:D8:EF:27:0A:5D:CC:45:BB:15:34:64:D2:6B:2C:CA:98
Jalankan perintah tanda sertifikat boneka untuk menandatangani permintaan.
puppetserver ca sign --certname client.itzgeek.local
Output: Successfully signed certificate request for client.itzgeek.local
Server Wayang sekarang dapat berkomunikasi dengan mesin klien dan mengontrol node.
Jika Anda memiliki beberapa permintaan penandatanganan dari node, Anda dapat menandatangani semua permintaan dalam satu perintah.
puppetserver ca sign --all
Terkadang, Anda mungkin perlu mencabut sertifikat node tertentu untuk membacanya kembali.
Ganti
puppetserver ca revoke --certname AGENT_NAME
Anda dapat membuat daftar semua permintaan yang ditandatangani dan tidak ditandatangani dengan perintah di bawah ini.
puppetserver ca list --all
Output: Signed Certificates: puppetserver.itzgeek.local (SHA256) E6:2C:6C:1E:9B:C6:AA:D9:84:09:F3:67:45:1B:36:C6:1F:FB:46:5F:92:64:37:19:E3:74:0C:0D:29:D5:C5:F6 alt names: ["DNS:puppetserver.itzgeek.local", "DNS:puppetserver", "DNS:puppetserver.itzgeek.local"] authorization extensions: [pp_cli_auth: true] client.itzgeek.local (SHA256) EF:D8:1A:F2:E9:56:A3:1F:DA:A9:8D:9B:71:02:D8:52:F1:44:98:92:A7:5F:DE:FC:5F:55:37:97:EC:9C:9A:96
Verifikasi Klien Boneka
Setelah Puppet Server menandatangani sertifikat klien Anda, jalankan perintah berikut pada mesin klien untuk mengujinya.
puppet agent --test
Output: Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Caching catalog for client.itzgeek.local Info: Applying configuration version '1591351483' Notice: Applied catalog in 0.01 seconds
Kesimpulan
Itu Al. Saya harap Anda telah mempelajari cara menginstal Puppet di CentOS 8 / RHEL 8. Sebagai bacaan lebih lanjut, pelajari cara membuat file manifest sederhana untuk membuat file dan direktori di node klien. Silakan bagikan tanggapan Anda di bagian komentar.