GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Install Puppet 6.x Di CentOS 7 / RHEL 7

Wayang adalah alat manajemen konfigurasi sumber terbuka yang membantu Anda mengelola konfigurasi ratusan sistem klien dari lokasi pusat.

Wayang membuat hidup admin lebih mudah dengan mengurangi waktu yang dihabiskan untuk tugas yang berulang dan memungkinkan mereka untuk berkonsentrasi pada pekerjaan lain, juga memastikan bahwa konfigurasi yang diterapkan konsisten di seluruh infrastruktur.

Wayang tersedia untuk Linux, Mac, BSD, Solaris, dan Sistem komputer berbasis Windows, dirilis di bawah Lisensi Apache, ditulis dalam bahasa “Ruby”.

Panduan ini membantu Anda menginstal Puppet 6.x di CentOS 7 / RHEL 7.

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.

Arsitektur yang Berdiri Sendiri

Dalam arsitektur ini, setiap node yang dikelola memiliki salinan info konfigurasi dan mengkompilasi katalognya. Ini menjalankan aplikasi aplikasi boneka sebagai tugas cron.

Lingkungan

Di sini, kita akan mengonfigurasi boneka dalam arsitektur Server/agen.

Tuan Boneka

Nama Inang: server.itzgeek.local
Alamat IP: 192.168.1.10
Sistem Operasi: CentOS 7.6

Klien boneka

Nama Inang: client.itzgeek.local
Alamat IP: 192.168.1.20
Sistem Operasi: CentOS 7.6

Prasyarat

Instal NTP

Pengaturan waktu node master dan klien harus disinkronkan secara akurat dengan server waktu upstream karena master server master Wayang akan bertindak sebagai otoritas sertifikat.

(Jika waktunya salah, itu mungkin keliru mengeluarkan sertifikat agen dari masa lalu atau masa depan yang jauh, yang akan diperlakukan oleh node lain sebagai kedaluwarsa.)

Instal paket NTP dan lakukan sinkronisasi waktu dengan server NTP upstream.

yum -y install ntpdate
ntpdate 0.centos.pool.ntp.org
Pastikan semua node berada di zona waktu yang sama menggunakan tanggal memerintah. Jika ada perbedaan, ubah sesuai.

BACA :Cara Mengubah Zona Waktu di CentOS 7 / RHEL 7

DNS

Agen boneka menggunakan nama host untuk berkomunikasi dengan Server Boneka. Jadi, pastikan node agen dapat menyelesaikan nama host dari Puppet Server dengan bantuan /etc/hosts file atau server DNS.

Setup Wayang Repositori

Untuk menginstal Server/Agen Wayang, kita perlu menambahkan repositori boneka di semua node.

Siapkan repositori Wayang di node master dan agen.
rpm -Uvh https://yum.puppet.com/puppet6-release-el-7.noarch.rpm

Instal Server Wayang

Puppet Server adalah perangkat lunak server yang berjalan pada node master boneka. Puppetmaster mendorong konfigurasi ke node yang dikelola (puppet-agent).

Instal server Wayang menggunakan perintah di bawah ini.

yum install -y puppetserver

Server boneka sekarang sudah terpasang, jangan mulai layanan server boneka.

Konfigurasi Server Boneka

Alokasi Memori

Secara default, Puppet Server JVM dikonfigurasi untuk menggunakan memori 2GB. Anda dapat mengubahnya, tergantung pada seberapa banyak memori yang tersedia di node master Anda; pastikan itu cukup untuk mengelola semua node yang terhubung dengannya.

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"

Server Web Tertanam

Puppet Server menggunakan server web berbasis Jetty yang tertanam dalam proses JVM layanan. Anda tidak perlu mengkonfigurasi atau mengaktifkan server web; itu bekerja di luar kotak. Performanya baik di bawah beban tingkat produksi.

Pengaturan server web tertanam dapat dimodifikasi di webserver.conf. Anda mungkin perlu mengedit file ini jika Anda menggunakan CA eksternal atau menjalankan Puppet Server pada port non-standar.

Konfigurasi Wayang

Konfigurasi Sederhana

Puppet Server tidak memerlukan konfigurasi apapun. Anda bisa memulai layanan server Wayang. Ini akan menggunakan pengaturan default.

Nama host Server Wayang default (dns_alt_names) adalah boneka, jadi Anda perlu menggunakan server =boneka dalam file konfigurasi boneka-agen.

Jika Anda ingin mengubah nama host dalang, ikuti prosedur di bawah ini.

Konfigurasi Lanjutan (opsional)

Di sini, saya akan mengubah pengaturan Wayang Guru untuk kebutuhan kita.

vi /etc/puppetlabs/puppet/puppet.conf

Tempatkan baris di bawah ini. Ubah sesuai dengan lingkungan Anda.

[master]
dns_alt_names = server.itzgeek.local,server

[main]
certname = server.itzgeek.local
server = server.itzgeek.local
environment = production
runinterval = 1h

Mulai Server Boneka

Buat CA penandatanganan root dan perantara untuk Puppet Server.

puppetserver ca setup

Keluaran:

Generation succeeded. Find your files in /etc/puppetlabs/puppet/ssl/ca
Jika 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

Master Wayang mendengarkan pada port 8140, jadi konfigurasikan firewall sedemikian rupa sehingga node yang dikelola dapat terhubung ke master.

firewall-cmd --permanent --add-port=8140/tcp
firewall-cmd --reload

Instal Agen Wayang

Instal agen boneka di klien Anda menggunakan perintah di bawah ini.

yum install -y puppet-agent

Agen boneka juga menggunakan beberapa pengaturan default untuk terhubung ke master node. Namun, kita perlu mengedit file konfigurasi boneka dan mengatur informasi dalang.

Setel server nilai sesuai nama node master Anda. Dalam kasus saya, servernya adalah server.itzgeek.local , dan nama asli adalah nama host klien saya (client.itzgeek.local ).
vi /etc/puppetlabs/puppet/puppet.conf

Atur seperti di bawah ini.

[main]
certname = client.itzgeek.local
server = server.itzgeek.local
environment = production
runinterval = 1h

Anda dapat mengubah nilai runinterval tergantung pada kebutuhan. Anda dapat mengatur nilai dalam detik (10 atau 10 detik), menit (10m) dan jam (1j). Setelan ini mengontrol berapa lama agen harus menunggu di antara dua permintaan katalog.

Mulai agen boneka di node dan membuatnya mulai secara otomatis pada boot sistem.

puppet resource service puppet ensure=running enable=true

Keluaran:

Notice: /Service[puppet]/ensure: ensure changed 'stopped' to 'running'
service { 'puppet':
  ensure => 'running',
  enable => 'true',
}
Jika Anda mendapatkan perintah boneka: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

Dalam penerapan agen/master, admin harus menyetujui permintaan sertifikat yang datang dari setiap node sehingga mereka dapat mengambil konfigurasi. Node agen akan meminta sertifikat untuk pertama kalinya jika mencoba dijalankan.

Masuk ke server dalang dan jalankan perintah di bawah ini untuk melihat permintaan yang luar biasa.

puppetserver ca list

Keluaran:

client.itzgeek.local   (SHA256)  A6:0E:93:51:FF:53:C8:FA:63:70:72:53:B6:1E:1B:A8:49:79:37:7E:57:00:02:AE:32:44:22:BE:97:F5:08:09

Jalankan perintah tanda sertifikat boneka untuk menandatangani permintaan.

puppetserver ca sign --certname client.itzgeek.local

Keluaran:

Successfully signed certificate request for client.itzgeek.local

Master boneka 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 dengan nama host klien Anda.

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

Keluaran:

server.itzgeek.local   (SHA256)  6E:90:94:6F:31:4F:8C:2A:28:90:D5:C0:6D:71:18:65:5E:86:DE:1C:16:9C:7C:30:8F:BF:DA:87:2D:F7:2C:26    alt names: ["DNS:server.itzgeek.local", "DNS:server", "DNS:server.itzgeek.local"]
client.itzgeek.local   (SHA256)  A6:08:36:5C:DB:73:0D:16:BA:5B:0D:72:76:FD:C7:31:DD:87:6F:EC:D4:4F:7A:87:E9:4F:73:70:D0:09:6E:61

Verifikasi Klien Boneka

Setelah Puppet Server menandatangani sertifikat klien Anda, jalankan perintah berikut pada mesin klien untuk mengujinya.

puppet agent --test

Keluaran:

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 '1558878523'
Notice: Applied catalog in 0.03 seconds

Membuat manifes pertama kami

Manifest adalah file data yang berisi konfigurasi klien, ditulis dalam bahasa deklaratif Wayang atau Ruby DSL. Bagian ini mencakup beberapa manifes dasar untuk membuat direktori serta file pada node yang dikelola.

File manifes boneka utama ada di /etc/puppetlabs/code/environments/production/manifests/site.pp.

vi /etc/puppetlabs/code/environments/production/manifests/site.pp

Sekarang tambahkan baris berikut ke manifes untuk membuat direktori pada node terkelola.

Jika variabel simpul tidak disetel, manifes ini akan berlaku untuk semua simpul yang terhubung ke dalang.
node 'client.itzgeek.local' { # Applies only to mentioned node; if nothing mentioned, applies to all.
file { '/tmp/puppetesttdir': # Resource type file
 ensure => 'directory', # Create as a diectory
 owner => 'root', # Ownership
 group => 'root', # Group Name
 mode => '0755', # Directory permissions
}
}

Sekarang, jalankan perintah berikut pada node klien untuk mengambil konfigurasi.

puppet agent --test

Keluaran:

Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for client.itzgeek.local
Info: Applying configuration version '1472165498'
Notice: /Stage[main]/Main/Node[client.itzgeek.local]/File[/tmp/puppetesttdir]/ensure: created
Notice: Applied catalog in 0.03 seconds

Verifikasi bahwa direktori telah dibuat pada node terkelola.

[root@client ~]# ls -ld /tmp/puppetesttdir
drwxr-xr-x. 2 root root 6 May 26 09:57 /tmp/puppetesttdir

Mari lakukan pengujian sekali lagi dengan menulis manifes untuk membuat file dengan konten di dalamnya.

node 'client.itzgeek.local' { # Applies only to mentioned node; if nothing mentioned, applies to all.
file { '/tmp/puppettestfile': # Resource type file
 ensure => 'present', # Make sure it exists
 owner => 'root', # Ownership
 group => 'root', # Group Name
 mode => '0644', # File permissions
 content => "This File is created by Puppet Server"
}
}

Anda dapat pergi ke mesin klien dan mengambil katalog seperti yang ditunjukkan pada contoh sebelumnya atau agen Wayang akan secara berkala mendapatkan manifes dari Server Wayang tergantung pada runinterval Anda atur dalam file konfigurasi.

Kesimpulan

Saya harap Anda telah mempelajari cara menginstal Puppet Server and Agent di CentOS 7 / RHEL 7. Selain itu, Anda juga telah belajar membuat file manifes sederhana untuk membuat direktori di node klien. Silakan bagikan tanggapan Anda di bagian komentar.


Cent OS
  1. Cara menginstal server DNS di RHEL 8 / CentOS 8 Linux

  2. Cara Memasang Wayang Di CentOS 8 / RHEL 8

  3. Cara menginstal Wayang di RHEL 8/CentOS 8

  1. Cara menginstal server email postfix di RHEL 8 / CentOS 8

  2. Cara menginstal server vnc di RHEL 8 / CentOS 8

  3. CentOS / RHEL 7:Cara Menginstal GUI

  1. Cara menginstal Nextcloud di server RHEL 8 / CentOS 8

  2. Cara menginstal OwnCloud di server RHEL 8 / CentOS 8

  3. Cara menginstal server PostgreSQL di RHEL 8 / CentOS 8