GNU/Linux >> Belajar Linux >  >> Debian

Cara Install Puppet Server dan Agent di Debian 11

Wayang adalah manajemen konfigurasi terpusat dan alat otomatisasi. DevOps membuat manajemen konfigurasi untuk menyebarkan server dan aplikasi, dan semua konfigurasi untuk otomatisasi disimpan di "Server Boneka" pusat. Setelah itu node "Agen" akan menarik konfigurasi baru dari "Server Boneka" dan menerapkan status seperti yang ditentukan.

Semua koneksi antara node "Server Boneka" dan "Agen" dienkripsi secara default menggunakan SSL / sertifikat TLS. Puppet menggunakan Domain Specific Language (DSL) untuk menjelaskan konfigurasi sistem, dan mirip dengan sintaks Ruby.

Dalam panduan ini, Anda akan menginstal dan mengkonfigurasi server dan agen Wayang di Debian 11 Bullseye. Anda akan menginstal server Wayang di server hostname 'server boneka' dan agen Wayang di server dengan nama host 'agen'. Pada akhirnya, Anda akan membuat manifes boneka pertama untuk menginstal tumpukan LEMP dasar pada simpul 'agen'.

Prasyarat

  • Anda memerlukan dua server Debian 11 yang berbeda.
    • 'server boneka ' dengan alamat IP '192.168.5.100 ' dan fqdn 'puppet-server.localdomainl.lan '.
    • 'Agen ' simpul dengan alamat IP '192.168.5.150 ' dan fqdn 'agent.localdomain.lan '.
  • Selain itu, Anda akan memerlukan pengguna root atau pengguna dengan hak akses root/sudo.

Menyiapkan FQDN

Pertama, Anda akan mengatur Fully Qualified Domain Name (FQDN) dan file '/etc/hosts' di 'puppet-server' dan 'agent'. Ini akan memastikan kedua server dapat berkomunikasi dengan nama domain lokal.

Untuk menyiapkan FQDN, jalankan 'hostnamectl ' perintah di bawah.

Jalankan perintah berikut untuk menyiapkan fqdn 'puppet-server.localdomain.lan ' di 'server boneka '.

hostnamectl set-hostname puppet-server.localdomain.lan

Jalankan perintah berikut untuk menyiapkan fqdn 'agent.localdomain.lan ' pada 'agen ' simpul.

hostnamectl set-hostname agent.localdomain.lan

Selanjutnya, edit '/etc/hosts ' menggunakan editor vim seperti di bawah ini.

sudo vim /etc/hosts

Salin dan tempel konfigurasi berikut.

192.168.5.100   puppet-server.localdomain.lan
192.168.5.150   agent.localdomain.lan

Simpan file dan keluar.

Terakhir, jalankan 'ping ' perintah di bawah ini untuk memverifikasi koneksi antara 'server boneka ' dan 'agen '.

ping puppet-server.localdomain.lan -c3
ping agent.localdomain.lan -c3

Jika konfigurasi Anda benar, Anda akan melihat output berikut. 'server boneka.domainlokal.lan ' diselesaikan ke server '192.168.5.100 ', dan 'agent.localdomain.lan ' diselesaikan ke node agen '192.168.5.150 '.

Menambahkan Repositori Wayang

Secara default, Puppelabs menyediakan paket repositori untuk distribusi Linux yang berbeda, termasuk Debian 11 Bullseye terbaru. Pada langkah ini, Anda akan menambahkan dan menginstal repositori Puppet ke 'puppet-server' dan 'agent'. Pada saat penulisan ini, versi terbaru dari Wayang adalah v7.x.

Unduh paket repositori menggunakan 'wget ' perintah di bawah.

wget https://apt.puppet.com/puppet7-release-bullseye.deb

Selanjutnya, instal file deb 'puppet7-release-bullseye.deb ' menggunakan 'dpkg ' perintah di bawah.

sudo dpkg -i puppet7-release-bullseye.deb

Setelah instalasi selesai, jalankan 'apt ' perintah di bawah ini untuk memperbarui dan menyegarkan indeks paket Debian.

sudo apt update

Sekarang Anda siap untuk menginstal paket Wayang.

Memasang Server Wayang

Pada langkah ini, Anda akan menginstal paket server Wayang pada 'server boneka'. Pada saat penulisan ini, versi terbaru dari Wayang adalah v7.

Untuk menginstal Puppet Server, jalankan perintah apt di bawah ini. Perintah ini juga secara otomatis menginstal paket lain seperti Java OpenJDK.

sudo apt install puppetserver

Ketik 'Y ' untuk mengonfirmasi pemasangan.

Setelah instalasi selesai, Anda perlu memuat lingkungan bash untuk Server Wayang.

Secara default, Puppet menyimpan file binernya di '/opt/puppetlabs/bin ' direktori. Jalankan perintah berikut untuk menerapkan '$PATH . yang baru ' variabel lingkungan untuk Puppet Server.

source /etc/profile.d/puppet-agent.sh
echo $PATH

Secara opsional, Anda juga dapat menerapkan '$PATH ' variabel lingkungan dengan menjalankan perintah berikut.

echo "export PATH=$PATH:/opt/puppetlabs/bin/" | tee -a ~/.bashrc
source ~/.bashrc

Sekarang verifikasi '$PATH ' variabel lingkungan menggunakan perintah di bawah ini. Pastikan direktori '/opt/puppetlabs/bin ' ada di daftar '$PATH ' variabel lingkungan.

echo $PATH

Setelah itu, Anda dapat menjalankan 'puppetserver ' perintah biasanya. Di bawah ini Anda dapat memeriksa versi Wayang.

puppetserver -v

Anda akan mendapatkan output yang mirip dengan tangkapan layar di bawah ini.

Selanjutnya, edit konfigurasi server Wayang '/etc/default/puppetserver' menggunakan editor vim.

sudo vim /etc/default/puppetserver

Ubah alokasi memori maksimal untuk Puppet Server. Itu tergantung pada memori sistem Anda. Dalam panduan ini, kami memiliki memori 2GB dan akan mengalokasikan untuk server Wayang 1GB. Dan kita akan menggunakan konfigurasi di bawah ini.

JAVA_ARGS="-Xms1g -Xmx1g"

Simpan file konfigurasi dan keluar.

Selanjutnya, muat ulang manajer systemd untuk menerapkan file layanan Wayang baru.

sudo systemctl daemon-reload

Kemudian mulai dan aktifkan 'puppetserver ' menggunakan perintah di bawah ini.

sudo systemctl start enable --now puppetserver

Layanan 'server boneka ' harus aktif dan berjalan. Jalankan perintah di bawah ini untuk memverifikasi 'puppetserver '.

sudo systemctl status puppetserver

Anda akan melihat output yang mirip dengan tangkapan layar di bawah ini.

Selain itu, jika Anda menggunakan firewall UFW di sistem Anda, pastikan untuk membuka port '8140 ' yang akan digunakan oleh Puppet Server.

Jalankan perintah di bawah ini untuk menyatukan semua koneksi yang masuk dari subnet lokal '192.168.5.0/24 ' ke Server Wayang pada port '8140 '.

sudo ufw allow from 192.168.5.0/24 to any proto tcp port 8140
sudo ufw status

Di bawah ini adalah aturan firewall UFW saat ini yang harus Anda lihat.

Mengonfigurasi Server Boneka

Pada langkah ini, Anda akan mengedit konfigurasi Puppet Server. Dan ini dapat dilakukan dengan mengedit konfigurasi Wayang secara langsung atau dengan membuat konfigurasi menggunakan 'boneka ' baris perintah.

Jalankan perintah 'boneka' di bawah ini untuk mengatur Server Wayang. Ini akan menyiapkan nama domain Server Boneka default dan interval lari di 'utama ', dan lingkungan dan dns_alt_names di bagian 'server '.

puppet config set server puppet-server.localdomain.lan --section main
puppet config set runinterval 1h --section main

puppet config set environment production --section server
puppet config set dns_alt_names puppet-server,puppet-server.localdomain.lan --section server

Sekarang periksa konfigurasi Puppet Server '/etc/puppetlabs/puppet/puppet.conf ' menggunakan 'kucing ' perintah di bawah.

cat /etc/puppetlabs/puppet/puppet.conf

Anda akan melihat konfigurasi Server Wayang seperti di bawah ini.

Terakhir, restart layanan 'puppetserver ' untuk menerapkan konfigurasi baru dengan menjalankan 'systemctl ' perintah di bawah.

sudo systemctl restart puppetserver

Sampai di sini, Anda telah menyelesaikan instalasi dan konfigurasi Puppet Server.

Memasang dan Mengonfigurasi Agen Boneka

Pada langkah ini, Anda akan menginstal dan mengonfigurasi Agen Wayang di mesin klien 'agen '.

Sebelum menginstal Puppet Agent, pastikan Anda telah menyelesaikan konfigurasi FQDN dan menambahkan repositori Puppet.

Sekarang mari kita instal dan konfigurasikan Agen Wayang.

Instal paket 'puppet-agent ' menggunakan perintah apt di bawah ini.

sudo apt install puppet-agent

Setelah instalasi selesai, jalankan perintah di bawah ini untuk memulai dan mengaktifkan layanan Wayang.

sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

Anda akan melihat output yang mirip dengan tangkapan layar di bawah ini.

Selanjutnya, Anda akan menyiapkan '$PATH ' variabel lingkungan untuk menambahkan jalur biner Wayang '/opt/puppetlabs/bin/ '. Dengan melakukan ini, Anda dapat menjalankan 'boneka ' perintah langsung tanpa path lengkap dari file biner.

source /etc/profile.d/puppet-agent.sh
echo $PATH

Cara lain untuk melakukannya adalah dengan menambahkan '$PATH . baru ' variabel lingkungan ke '~/.bashrc ' konfigurasi menggunakan perintah berikut.

echo "export PATH=$PATH:/opt/puppetlabs/bin/" | tee -a ~/.bashrc
source ~/.bashrc

Sekarang verifikasi '$PATH ' konfigurasi variabel lingkungan menggunakan perintah berikut.

echo $PATH

Anda akan melihat jalur biner Wayang '/opt/puppetlabs/bin ' ditambahkan ke '$PATH ' variabel lingkungan.

Mendaftarkan Agen Boneka ke Server Boneka

Setelah menginstal Agen Wayang, Anda sekarang akan menyiapkan Agen Wayang untuk mendaftarkannya ke Server Wayang utama.

Pertama, pastikan Server Wayang fqdn dapat dijangkau dari 'agen ' mesin. Uji menggunakan 'ping ' perintah di bawah.

ping puppet-server.localdomain.lan -c3

Selanjutnya, jalankan perintah di bawah ini untuk mengkonfigurasi Agen Wayang. Ini akan menentukan nama domain Server Boneka dan ca_server di 'agen bagian '.

puppet config set server puppet-server.localdomain.lan --section agent
puppet config set ca_server puppet-server.localdomain.lan --section agent

Verifikasi konfigurasi Wayang yang dihasilkan dalam file '/etc/puppetlabs/puppet/puppet.conf'.

cat /etc/puppetlabs/puppet/puppet.conf

Anda akan melihat output yang mirip dengan tangkapan layar di bawah ini.

Sekarang, jalankan perintah di bawah ini untuk memulai kembali layanan Wayang dan menerapkan perubahan baru. Kemudian verifikasi layanan Wayang dan pastikan itu aktif dan berjalan.

sudo systemctl restart puppet
sudo systemctl status puppet

Di bawah ini adalah output dari status layanan Wayang.

Selanjutnya, jalankan perintah di bawah ini untuk mendaftarkan agen Wayang ke server Wayang. Perintah ini akan menghasilkan sertifikat TLS baru dan membuat permintaan penandatanganan sertifikat baru ke server Wayang.

puppet ssl bootstrap

Sekarang pindah ke terminal Server Wayang dan jalankan perintah di bawah ini untuk memeriksa permintaan penandatanganan sertifikat, lalu verifikasi penandatanganan sertifikat untuk Agen Wayang 'agent.localdomain.lan '.

puppetserver ca list --all
puppetserver ca sign --certname agent.localdomain.lan

Anda akan melihat pesan seperti 'Permintaan sertifikat berhasil ditandatangani .... '.

Selanjutnya, jalankan perintah di bawah ini untuk memverifikasi daftar sertifikat di Server Wayang.

puppetserver ca list-all

Anda akan melihat dua sertifikat yang berbeda, sertifikat untuk Server Wayang dan Agen Wayang.

Sekarang pindah lagi ke terminal Agen Wayang dan Anda akan melihat pesan seperti 'Pemberitahuan:Inisialisasi SSL selesai ', yang berarti permintaan penandatanganan sertifikat berhasil diselesaikan.

Pada titik ini, Anda siap untuk membuat manifes Wayang pertama yang baru.

Membuat Manifes Boneka Pertama

Pada langkah ini, Anda akan membuat manifes boneka pertama yang baru untuk menginstal LEMP Stack (Nginx, MariaDB, dan PHP-FPM). Semua manifes untuk lingkungan produksi harus disimpan di direktori Server Wayang '/etc/puppetlabs/code/environments/production/ '.

Ubah direktori kerja Anda saat ini menjadi '/etc/puppetlabs/code/environments/production/ '.

cd /etc/puppetlabs/code/environments/production/

Selanjutnya, buat direktori tata letak manifes baru untuk LEMP Stack di bawah 'modul ' direktori.

mkdir -p modules/lemp/{manifests,files}

Pindah ke 'modules/lemp ' dan buat file manifes Wayang baru 'manifests/init.pp ' menggunakan editor vim/nano.

cd modules/lemp/
nano manifests/init.pp

Salin dan tempel bahasa sintaks boneka berikut untuk menginstal LEMP Stack, pastikan setiap layanan LEMP Stack aktif dan berjalan, dan buat file index.html kustom baru.

class lemp {

    Package { ensure => 'installed' }
    $lemppackages = [ 'nginx', 'mariadb-server', 'php-fpm' ]
    package { $lemppackages: }

    Service { ensure => 'running', enable => 'true'}
    $lempsvc = [ 'nginx', 'mariadb', 'php7.4-fpm' ]
    service { $lempsvc: }

    file { '/var/www/html/index.html':
     ensure  => file,
     content => "<h1><center>Welcome to Nginx - Managed by Puppet</center></h1>",
     mode    => '0644',
   }

}

Simpan file dan keluar.

Selanjutnya, jalankan perintah di bawah ini untuk memvalidasi file manifes Wayang 'init.pp' .

puppet parser validate init.pp

Jika Anda tidak melihat pesan keluaran, berarti konfigurasi sudah benar.

Sekarang buat konfigurasi lain 'manifests/site.pp ' menggunakan editor vim/nano.

cd /etc/puppetlabs/code/environments/production/
vim manifests/sites.pp

Tentukan host target ke 'agent.localdomain.lan ' dan terapkan manifes Wayang baru 'lemp '.

node 'agent.localdomain.lan' {
    include lemp
}

Simpan file dan keluar.

Verifikasi lagi konfigurasi manifes Wayang menggunakan perintah berikut.

puppet parser validate site.pp

Memverifikasi dan Menerapkan Manifes Wayang

Anda sekarang telah membuat manifes Wayang pertama yang baru untuk menerapkan LEMP Stack. Pada titik ini, node Agen Wayang akan secara otomatis menyinkronkan semua manifes ke Server Wayang dan menerapkan konfigurasi manifes baru.

Tetapi juga, Anda dapat menerapkan manifes Wayang secara manual dari mesin Agen Wayang.

Kembali ke 'agen' server terminal dan jalankan perintah di bawah ini untuk menerapkan manifes Wayang secara manual.

puppet agent -t

Ini akan menjalankan manifes Wayang pada mesin Agen Wayang dan menginstal LEMP Stack melalui manifes Wayang 'lemp '.

Di bawah ini adalah output yang akan Anda dapatkan.

Sekarang jalankan perintah di bawah ini untuk memverifikasi setiap layanan Nginx, MariaDB, dan PHP-FPM.

sudo systemctl status nginx
sudo systemctl status mariadb
sudo systemctl status php7.4-fpm

Anda akan melihat setiap layanan aktif dan berjalan.

Sekarang buka browser web Anda dan ketik alamat IP node Agen Anda di bilah alamat. Dan Anda akan melihat file index.html khusus di bawah ini.

Anda sekarang telah berhasil menerapkan penerapan LEMP Stack ke mesin Agen menggunakan manifes Wayang.

Kesimpulan

Selamat! Anda sekarang telah berhasil menginstal Puppet Server dan Agen di Debian 11 Bullseye. Selain itu, Anda telah mempelajari cara membuat manifes Wayang pertama untuk menginstal LEMP Stack.

OPada langkah berikutnya, Anda mungkin menarik untuk menyiapkan node lain dan membuat manifes Wayang yang lebih kompleks untuk penerapan Anda.


Debian
  1. Cara menginstal dan mengkonfigurasi Server OpenVPN di Debian 10

  2. Bagaimana menginstal dan mengkonfigurasi Proxy Squid di Debian 11

  3. Cara Menginstal ProFTPD di Debian 8

  1. Cara Menginstal Server Redis di Debian 11

  2. Cara Install Puppet 6.x Di Ubuntu 18.04 / Ubuntu 16.04 &Debian 9

  3. Cara Menginstal MySQL 8.0 / 5.7 di Debian 11 / Debian 10

  1. Cara Menginstal dan Mengkonfigurasi VNC di Debian 9

  2. Cara Menginstal dan Mengkonfigurasi Server VNC di Debian 10

  3. Cara Menginstal Server MySQL di Debian 9