Puppet adalah alat manajemen konfigurasi sumber terbuka dan gratis, membantu Anda menyebarkan dan mengelola konfigurasi ratusan sistem klien secara terpusat. Ini tersedia untuk GNU/Linux, Mac, BSD, Solaris dan Sistem komputer berbasis Windows, dirilis di bawah Lisensi Apache, ditulis dalam bahasa "Ruby". Panduan ini membantu Anda menginstal boneka di CentOS 7 / RHEL 7.
Arsitektur Wayang:
Agen / Master:
Dalam arsitektur ini, satu atau lebih server menjalankan aplikasi dalang, biasanya sebagai aplikasi Rack yang dikelola oleh server web (seperti Apache dengan Penumpang) dan aplikasi agen boneka berjalan di server klien, biasanya sebagai layanan latar belakang.
Secara berkala, agen wayang akan mengirimkan fakta kepada dalang dan meminta katalog. Master akan mengkompilasi dan mengembalikan katalog node tersebut, menggunakan beberapa sumber informasi yang dapat diaksesnya.
Arsitektur yang Berdiri Sendiri:
Dalam arsitektur ini, server klien menjalankan aplikasi aplikasi boneka ( kombinasi mandiri dari aplikasi master boneka dan agen boneka), biasanya sebagai tugas terjadwal atau tugas cron.
Lingkungan:
Di sini, saya akan menunjukkan cara mengkonfigurasi boneka di arsitektur master / agen. Dalam tutorial ini, saya akan menggunakan dua sistem CentOS 7 seperti yang disebutkan di bawah ini.
Tuan Boneka:
Sistem operasi :Alamat IP Minimal CentOS 7 :192.168.12.10NamaHost :server.itzgeek.local
Klien boneka:
Sistem Operasi :Alamat IP Minimal CentOS 7 :192.168.12.20NamaHost :client.itzgeek.local
Persyaratan:
Konfigurasikan repositori EPEL di CentOS 7 / RHEL 7.
Pastikan sistem Anda (server boneka dan klien) dapat menyelesaikan nama host satu sama lain, baik menggunakan /etc/hosts file atau server DNS .
Untuk memiliki setup wayang siap produksi, kita harus menggunakan apache dengan penumpang. Untuk mendapatkan penumpang, unduh dan letakkan file repo ke /etc/yum.repos.d/
Catatan:Hanya di server master.
[root@server ~]# curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repoUntuk menginstal dalang/agen, kita perlu mengatur repositori boneka di semua node. Aktifkan repositori lab boneka dengan menginstal di bawah rpm.
Catatan:Jalankan pada node master dan agen.
# rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpmInstal dan Konfigurasi Wayang di CentOS 7:
Sekarang, saatnya memasang boneka. Instal server boneka menggunakan perintah di bawah ini.
[root@server ~]# yum -y install boneka-serverSeperti yang dikatakan sebelumnya, kita akan mengkonfigurasi boneka untuk arsitektur master / agen. Jadi, node ini akan bertindak sebagai node master. Edit file konfigurasi boneka dan ubah dns_alt_names .
[root@server ~]# vi /etc/puppet/puppet.conf[main]dns_alt_names =server,server.itzgeek.local certname =server.itzgeek.localJika mesin ini adalah satu-satunya dalang di lingkungan Anda, jalankan perintah di bawah ini untuk membuat sertifikat dalang.
[root@server ~]# puppet master --verbose --no-daemonizeInfo:Membuat kunci SSL baru untuk caInfo:Membuat permintaan sertifikat SSL baru untuk caInfo:Sidik jari Permintaan Sertifikat (SHA256):81:C6:BB :8B:1D:71:4C:64:E1:13:54:1B:EC:CF:99:D8:85:90:D1:6C:E8:85:50:3E:03:41:BA:C5 :47:A7:4C:E5Notice:Permintaan sertifikat yang ditandatangani untuk caInfo:Membuat daftar pencabutan sertifikat baruInfo:Membuat kunci SSL baru untuk server.itzgeek.localInfo:File csr_attributes dimuat dari /etc/puppet/csr_attributes.yamlInfo:Membuat yang baru Permintaan sertifikat SSL untuk server.itzgeek.localInfo:Sidik jari Permintaan Sertifikat (SHA256):FF:BE:D4:9B:E4:12:83:79:AE:BE:50:17:76:5F:F5:CD:5F :53:EA:5D:AA:5D:87:9E:7C:C4:BC:1B:8A:C6:FA:5CNotice:server.itzgeek.local memiliki permintaan sertifikat menungguPemberitahuan:Permintaan sertifikat yang ditandatangani untuk server.itzgeek. localNotice:Menghapus file Puppet::SSL::CertificateRequest server.itzgeek.local di '/var/lib/puppet/ssl/ca/requests/server.itzgeek.local.pem'Notice:Menghapus file Puppet::SSL::CertificateRequest server.itzgeek.local di '/var/lib/puppet/ssl/certificate_requests/server.itzgeek.local.pem'Notice:Memulai master Wayang versi 3.8.3Setelah Anda mendapatkan “Pemberitahuan:Memulai versi master Wayang
“, tekan ctrl-C untuk menghentikan prosesnya. Mengonfigurasi Server Web Siap Produksi:
Wayang dilengkapi dengan server web master boneka dasar, tetapi ini tidak dapat digunakan untuk beban kehidupan nyata. Kita harus mengonfigurasi server web kualitas produksi sebelum kita mulai mengelola node kita dengan Wayang.
[root@server ~]# yum -y install httpd httpd-devel mod_ssl ruby-devel rubygems gcc gcc-c++ pygpgme curlInstal modul Penumpang dan Apache.
[root@server ~]# yum install -y mod_passengerBuat tiga direktori untuk aplikasi (direktori induk, direktori “publik”, dan direktori “tmp” ), Salin file ext/rack/config.ru dari kode sumber Wayang ke direktori induk dan Atur kepemilikan file config.ru.
[root@server ~]# mkdir -p /usr/share/puppet/rack/puppetmasterd[root@server ~]# mkdir /usr/share/puppet/rack/puppetmasterd/public /usr/share/puppet/ rack/puppetmasterd/tmp[root@server ~]# cp /usr/share/puppet/ext/rack/config.ru /usr/share/puppet/rack/puppetmasterd/[root@server ~]# chown puppet:puppet / usr/share/puppet/rack/puppetmasterd/config.ruTambahkan virtual host untuk boneka dengan membuat file konfigurasi di bawah ini.
[root@server ~]# vi /etc/httpd/conf.d/puppetmaster.confTambahkan konten di bawah ini ke dalam file host virtual, ubah hijau entri berwarna sesuai lingkungan Anda.
# Anda mungkin ingin menyetel pengaturan iniPenumpangHighPerformance onPassengerMaxPoolSize 12PassengerPoolIdleTime 1500# PassengerMaxRequests 1000PassengerStatThrottleRate 120Dengarkan 8140sslengine pada sslprotocol all -sslv2 -sslv3 sslciphersuite edh+camellia:edh+arsa:eecdh+arsa+aesgcm:eecdh+arsa+sha384:eecdh+aesgcm:eecdh+arsa+sha384:eecdh+aesgcm:eecdh+arsa+sha384:eecdh+aesgcm:eecdh+arsa+sha384:eecdh+aesgcm:eecdh+arsa CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA SSLHonorCipherOrder di SSLCertificateFile /var/lib/puppet/ssl/certs/server.itzgeek.local.pem SSLCertificateKeyFile /var/lib/puppet/ssl/private_keys/server.itzgeek.local.pem SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem # Jika Apache mengeluh tentang tanda tangan yang tidak valid pada CRL, Anda dapat mencoba menonaktifkan # Pemeriksaan CRL dengan mengomentari baris berikutnya, tetapi ini tidak disarankan. SSLCARevocationFile /var/lib/puppet/ssl/ca/ca_crl.pem # Apache 2.4 memperkenalkan arahan SSLCARevocationCheck dan menyetelnya ke none # yang secara efektif menonaktifkan pemeriksaan CRL; jika Anda menggunakan Apache 2.4+ Anda harus # menentukan 'SSLCARevocationCheck chain' untuk benar-benar menggunakan CRL. # SSLCARevocationCheck chain SSLVerifyClient optional SSLVerifyDepth 1 # Opsi `ExportCertData` diperlukan untuk peringatan kedaluwarsa sertifikat agen SSLOptions +StdEnvVars +ExportCertData header Permintaan harus diatur jika header ini tidak diset -Subject %{SSL_CLIENT_S_DN}e RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e / /share/p/uspetrRootd /p> DocumentRootd> RackBaseURI / /usr/share/puppet/rack/puppetmasterd/> Opsi Tidak Ada AllowOverride None Pesan izinkan, tolak izinkan dari semua Restart server apache untuk mengambil efek dari virtual host boneka, untuk melakukan itu, jalankan perintah berikut di terminal.
[root@server ~]# systemctl restart httpd.serviceNonaktifkan layanan boneka dan aktifkan server Apache untuk memulai otomatis saat boot sistem.
[root@server ~]# systemctl nonaktifkan puppet.service[root@server ~]# systemctl aktifkan httpd.serviceFirewall:
Wayang mendengarkan di port no 8140; Konfigurasikan tabel IP untuk mengizinkannya.
[root@server ~]# firewall-cmd --zone=public --add-port=8140/tcp --permanent[root@server ~]# firewall-cmd --reloadInstal Wayang di Node Agen:
Di mesin klien Anda, instal agen boneka menggunakan perintah di bawah ini.
Catatan:Anda harus memiliki repositori boneka yang dikonfigurasi pada node agen.
[root@client ~]# yum -y install bonekaEdit file konfigurasi boneka dan setel informasi dalang pada bait klien.
Catatan:Ubah nilai “server” sesuai lingkungan Anda. Dalam kasus saya, servernya adalah “server.itzgeek.local”
[root@client ~]# vi /etc/puppet/puppet.conf[agent]server =server.itzgeek.localMulai wayang pada node agen dan buat untuk memulai secara otomatis pada boot sistem.
[root@client ~]# systemctl start puppet.service[root@client ~]# systemctl mengaktifkan puppet.serviceAnda akan mendapatkan peristiwa di bawah ini di log.
21 Okt 05:46:45 client systemd:Memulai Puppet agent...21 Okt 05:46:46 client systemd:Memulai Puppet agent.21 Okt 05:47:03 client systemd:Reloading.Oct 21 05:49 :10 agen boneka klien[2694]:Tidak menerima sertifikatMenandatangani Sertifikat Node Agen di Server Master:
Dalam penerapan agen/master, admin harus menyetujui permintaan sertifikat untuk setiap node agen sebelum node tersebut dapat mengambil konfigurasi. Node agen akan meminta sertifikat saat pertama kali mencoba dijalankan.
Masuk ke server dalang dan jalankan perintah di bawah ini untuk melihat permintaan yang luar biasa.
[root@server ~]# daftar sertifikat boneka"client.itzgeek.local" (SHA256) D4:88:EC:C5:0A:F7:5D:4E:32:C5:B3:61:E0:51 :7B:0C:CD:B3:49:9E:68:0B:E7:5D:75:19:1D:0B:92:8A:E7:C1Jalankan tanda sertifikat boneka untuk menandatangani permintaan, atau tanda sertifikat boneka –semua untuk menandatangani semua permintaan yang tertunda.
[root@server ~]# tanda sertifikat boneka client.itzgeek.localNotice:Permintaan sertifikat yang ditandatangani untuk client.itzgeek.localNotice:Menghapus file Wayang::SSL::CertificateRequest client.itzgeek.local di '/var/lib/ wayang/ssl/ca/requests/client.itzgeek.local.pem'Jalankan perintah berikut pada mesin klien untuk memeriksa sertifikat
[root@client ~]# agen boneka -tInfo:Caching sertifikat untuk client.itzgeek.localInfo:Caching certificate_revocation_list untuk caInfo:Caching sertifikat untuk client.itzgeek.localInfo:Mengambil pluginfactsInfo:Mengambil pluginInfo:Caching katalog untuk client.itzgeek .localInfo:Menerapkan versi konfigurasi '1445401911'Info:Membuat file status /var/lib/puppet/state/state.yamlNotice:Katalog selesai dijalankan dalam 0,09 detikItu saja. Sekarang, Anda telah berhasil mengonfigurasi dalang dan agen. Saatnya membuat manifes (konfigurasi klien). Pantau terus.
Tutorial ini untuk Master Wayang versi lama, beberapa tautan rusak dan mungkin tidak berfungsi seperti yang diharapkan. Versi baru tersedia di sini:Cara Memasang Wayang 4.x Di CentOS 7 / RHEL 7.