Wayang adalah alat manajemen konfigurasi sumber terbuka yang kuat yang dapat digunakan untuk menyebarkan, mengkonfigurasi, mengelola, dan memelihara server saat mengaksesnya dari jarak jauh. Wayang ditulis dalam Ruby dan membantu Anda menyebarkan dan mengelola satu server – hingga ribuan server fisik dan virtual – semuanya dari satu lokasi pusat.
Modul wayang adalah kumpulan file dan data manifes yang memungkinkan Wayang memuat dan menemukan kelas, fakta, fungsi, jenis yang ditentukan, dan tugas. Dengan modul Wayang, Anda dapat menginstal dan memperbarui paket, membuat file dan direktori, dan/atau membuat perubahan konfigurasi dengan cepat dan mudah. Ini bertujuan untuk melakukan dan mengotomatisasi hampir semua tugas, seperti meluncurkan lingkungan LAMP, menyiapkan host virtual, dll.
Dalam tutorial ini, kami akan menunjukkan cara membuat modul LAMP untuk menyebarkan tumpukan LAMP pada mesin agen Wayang, keduanya adalah VPS Ubuntu 20.04. Mari kita mulai.
Sebelum Kita Mulai
Anda membutuhkan:
- Dua server virtual Ubuntu 20.04 dengan master Wayang dan agen Wayang dikonfigurasi.
- Akses root diaktifkan atau pengguna dengan hak istimewa sudo.
Memulai
Pertama, Anda harus masuk ke server Anda menggunakan SSH. Anda dapat melakukannya dengan memasukkan perintah ini:
ssh root@IP_Address -p Port_Number
Ingatlah untuk mengganti "root" dengan nama pengguna Anda jika Anda tidak menggunakan pengguna root. Ubah “IP_Address” dan “Port_Number” sesuai dengan alamat IP server Anda dan nomor port SSH. Nomor port default adalah 22.
Setelah Anda masuk, Anda dapat melanjutkan ke langkah berikutnya.
Verifikasi Server dan Agen Wayang
Pertama, verifikasi layanan Wayang dengan menjalankan perintah berikut pada simpul master Wayang. Kami perlu memastikan bahwa layanan aktif dan berjalan:
systemctl status puppetserver
Selanjutnya, buat daftar semua permintaan agen yang ditandatangani dan tidak ditandatangani dengan perintah berikut:
/opt/puppetlabs/bin/puppetserver ca list --all
Anda akan melihat output berikut:
Signed Certificates: puppet-client (SHA256) 58:73:AE:62:04:9E:B8:0F:16:07:83:08:34:4A:00:D2:E6:82:9B:47:2A:00:9F:F4:08:AE:56:A8:E7:1B:6A:31 puppet-master (SHA256) 7F:23:98:18:0E:3F:0F:FD:3E:12:FD:43:A6:50:C2:4C:58:0F:C6:EB:B0:5A:2A:74:6F:D8:A0:95:BC:31:EA:47alt names: ["DNS:puppet-master", "DNS:puppet-master"]authorization extensions: [pp_cli_auth: true]
Pada node agen Wayang, jalankan perintah berikut untuk menguji konektivitas antara kedua node.
/opt/puppetlabs/bin/puppet agent --test
Jika semuanya baik-baik saja, Anda akan mendapatkan output berikut:
Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Caching catalog for puppet-client Info: Applying configuration version '1583136740' Notice: Applied catalog in 0.05 seconds
Buat Modul LAMP
Pertama, Anda perlu membuat modul LAMP pada node master Wayang. Untuk membuat modul, Anda harus membuat direktori yang namanya cocok dengan nama modul Anda di modules
Wayang. direktori, dan itu harus berisi direktori yang disebut manifests
, dan direktori tersebut harus berisi init.pp
berkas.
Untuk melakukannya, ubah direktori ke direktori modul Wayang dan buat direktori bernama lamp
dan kemudian manifests
direktori di dalamnya:
cd /etc/puppetlabs/code/modules/ mkdir -p lamp/manifests
Selanjutnya, buat init.pp
file yang akan berisi kelas Wayang yang cocok dengan nama modul. Kami akan menggunakan nano
untuk ini, tetapi Anda dapat menggunakan editor teks apa pun yang Anda suka.
nano lamp/manifests/init.pp
Tambahkan baris berikut:
class lamp { # execute 'apt-get update' exec { 'apt-update': # exec resource named 'apt-update' command => '/usr/bin/apt-get update' # command this resource will run } # install apache2 package package { 'apache2': require => Exec['apt-update'], # require 'apt-update' before installing ensure => installed, } # ensure apache2 service is running service { 'apache2': ensure => running, } # install mysql-server package package { 'mysql-server': require => Exec['apt-update'], # require 'apt-update' before installing ensure => installed, } # ensure mysql service is running service { 'mysql': ensure => running, } # install php package package { 'php': require => Exec['apt-update'], # require 'apt-update' before installing ensure => installed, } # ensure info.php file exists file { '/var/www/html/info.php': ensure => file, content => '', # phpinfo code require => Package['apache2'], # require 'apache2' package before creating } }
Simpan dan tutup file setelah Anda selesai.
Buat File Manifes Utama
Manifes adalah file yang berisi konfigurasi klien yang dapat digunakan untuk menginstal tumpukan LAMP pada node agen. File manifes boneka utama terletak di /etc/puppetlabs/code/environments/production/manifests
direktori.
Anda dapat membuat file manifes baru bernama site.pp
dengan perintah berikut:
nano /etc/puppetlabs/code/environments/production/manifests/site.pp
Tambahkan baris berikut:
node default { } node 'puppet-agent' { include lamp }
Simpan dan tutup file.
Dalam file di atas, blok node memungkinkan Anda untuk menentukan kode Wayang yang hanya akan berlaku untuk node agen tertentu. Node default berlaku untuk setiap node agen yang tidak memiliki blok node yang ditentukan.
Di sini, kami telah menentukan puppet-agent
blok simpul yang hanya akan berlaku untuk puppet-agent
simpul agen. Kami juga telah menambahkan include lamp
snippet untuk membuat Wayang menggunakan modul lampu di node agen.
Uji Modul LAMP
Sekarang, Anda perlu menarik konfigurasi LAMP pada node agen dari node master.
Pada node agen, jalankan perintah berikut untuk menarik konfigurasi LAMP dari node master.
/opt/puppetlabs/bin/puppet agent --test
Ini akan menginstal dan mengatur tumpukan LAMP pada node agen, seperti yang dapat dilihat di bawah ini:
Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Caching catalog for puppet-agent Info: Applying configuration version '1594188800' Notice: /Stage[main]/Lamp/Exec[apt-update]/returns: executed successfully Notice: /Stage[main]/Lamp/Package[apache2]/ensure: created Notice: /Stage[main]/Lamp/Package[mysql-server]/ensure: created Notice: /Stage[main]/Lamp/Package[php]/ensure: created Notice: /Stage[main]/Lamp/File[/var/www/html/info.php]/ensure: defined content as '{md5}d9c0c977ee96604e48b81d795236619a' Notice: Applied catalog in 73.09 seconds
Dan dengan itu, tumpukan LAMP sekarang telah diinstal pada node agen Anda. Untuk memeriksanya, buka browser web Anda dan ketik URL http://agent-ip-address/info.php
. Anda akan melihat halaman PHP Anda.
Selamat! Anda telah berhasil membuat modul LAMP pada master Wayang Anda dan telah berhasil menerapkannya pada simpul agen (atau simpul) Anda dengan Wayang.
Menyebarkan perubahan ini pada node agen dibuat semudah dan seotomatis mungkin, namun Anda masih perlu mengonfigurasi kedua sisi dan melakukan tugas ini sendiri. Jika Anda menggunakan salah satu paket VPS Ubuntu Terkelola kami, yang perlu Anda lakukan hanyalah meminta tim admin ahli kami untuk menginstal apa pun yang Anda butuhkan. Mereka dapat menginstal dan mengatur apa pun yang Anda inginkan, kapan pun Anda menginginkannya, serta melakukan pemeliharaan server apa pun, semuanya tanpa Anda harus melakukan apa pun.
Kami harap Anda menemukan tutorial ini bermanfaat. Jika Anda melakukannya, kami akan sangat menghargai Anda membagikan tutorial ini dengan teman-teman Anda melalui media sosial dengan menggunakan pintasan berbagi kami, atau Anda dapat meninggalkan komentar yang memberi tahu kami bagaimana penginstalan berjalan untuk Anda. Terima kasih.