SaltStack adalah perangkat lunak manajemen konfigurasi dan otomatisasi gratis, open-source, dan berbasis Python. Ini adalah alat baris perintah yang membantu Anda mengelola infrastruktur dari lokasi pusat. SoltStack terbuat dari empat komponen. Penjelasan singkat dari masing-masing komponen ditunjukkan di bawah ini:
- Tuan Garam bertindak sebagai pengontrol baris perintah untuk antek-anteknya. Ini digunakan untuk mengontrol dan mengelola sejumlah antek.
- Minion Garam adalah daemon budak yang menerima konfigurasi dan perintah dari master.
- Rumus adalah file manajemen konfigurasi.
- Eksekusi adalah sejumlah perintah dan modul yang dijalankan pada minion.
Pada artikel ini, saya akan menunjukkan cara menginstal sistem SaltStack Master dan Minion di Debian 11.
Prasyarat
- Dua server menjalankan Debian 11.
- Kata sandi root dikonfigurasi di server.
Instal Saltstack Master
Secara default, SaltStack tidak disertakan dalam repositori default Debian 11. Jadi, Anda perlu menambahkan repositori SaltStack ke APT. Anda dapat menambahkannya dengan menjalankan perintah berikut:
curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/main bullseye terbaru " | tee /etc/apt/sources.list.d/salt.listSetelah repositori ditambahkan, perbarui cache repositori menggunakan perintah berikut:
apt-get update -ySelanjutnya, instal dependensi yang diperlukan menggunakan perintah berikut:
apt-get install python3 salt-common -ySelanjutnya, instal master SaltStack dengan perintah berikut:
apt-get install salt-master -ySetelah instalasi berhasil, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Saltstack Master
Selanjutnya, Anda perlu mendefinisikan antarmuka bind di file konfigurasi SaltStack.
nano /etc/salt/masterUbah baris berikut:
antarmuka:0.0.0.0Simpan dan tutup file kemudian restart master SaltStack dengan perintah berikut:
systemctl restart salt-masterAnda sekarang dapat memverifikasi status SaltStack dengan perintah berikut:
systemctl status salt-masterAnda akan mendapatkan output berikut:
? salt-master.service - Server Salt Master Dimuat:dimuat (/lib/systemd/system/salt-master.service; diaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Sat 2022-02-12 07:39 :48 UTC; 9 detik yang lalu Dokumen:man:salt-master(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltproject.io/en/latest/contents.html PID Utama:19403 (master garam) Tugas:32 (batas:2341) Memori:201,5 juta CPU:6.109s CGroup:/system.slice/salt-master.service ??19403 /usr/bin/python3 /usr/bin/salt- master ??19407 /usr/bin/python3 /usr/bin/salt-master ??19431 /usr/bin/python3 /usr/bin/salt-master ??19434 /usr/bin/python3 /usr/bin/salt -master ??19435 /usr/bin/python3 /usr/bin/salt-master ??19436 /usr/bin/python3 /usr/bin/salt-master ??19437 /usr/bin/python3 /usr/bin/ garam-master ??19444 /usr/bin/python3 /usr/bin/salt-master ??19445 /usr/bin/python3 /usr/bin/salt-master ??19446 /usr/bin/python3 /usr/bin /salt-master ??19448 /usr/bin/python3 /usr/bin/salt-master ??19451 /usr/bin/python3 /usr/bin/salt-master ??19454 /usr/bin/python3 /usr/bin/salt-masterFeb 12 07:39:48 debian11 systemd[1]:Memulai Server Salt Master...12 Feb 07:39:48 debian11 systemd[1]:Memulai Server Master Garam.Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal dan Konfigurasikan Saltstack Minion
Pada titik ini, SaltStack Master diinstal dan dikonfigurasi. Sekarang, masuk ke komputer lain dan tambahkan repositori SaltStack Minion dengan perintah berikut:
curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/main bullseye terbaru " | tee /etc/apt/sources.list.d/salt.listSetelah repositori ditambahkan, perbarui cache repositori menggunakan perintah berikut:
apt-get update -ySelanjutnya, instal SaltStack Minion dengan perintah berikut:
apt-get install salt-minion -ySetelah instalasi berhasil, edit file konfigurasi SaltStack Minion dan tentukan alamat IP master.
nano /etc/salt/minionUbah baris berikut:
master:salt-master-ipSimpan dan tutup file setelah Anda selesai.
Selanjutnya, Anda perlu mengautentikasi minion menggunakan sidik jari publik master.
Pada mesin Salt Master, buat daftar semua sidik jari menggunakan perintah berikut:
salt-key --finger-allAnda akan mendapatkan output berikut:
Local Keys:master.pem:b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76:3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78master.pub:5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1Sekarang, salin garis sidik jari master.pub dan tambahkan ke file konfigurasi Minion.
Pada mesin Minion, edit file konfigurasi:
nano /etc/salt/minionTambahkan sidik jari master seperti yang ditunjukkan di bawah ini:
master_finger:'5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1'Anda juga perlu menentukan nama Minion:
id:Minion1Simpan dan tutup file kemudian restart SaltStack Minion menggunakan perintah berikut:
systemctl restart salt-minionAnda juga dapat memverifikasi status SaltStack Minion dengan perintah berikut:
systemctl status minion garamAnda akan mendapatkan output berikut:
? salt-minion.service - The Salt Minion Dimuat:dimuat (/lib/systemd/system/salt-minion.service; diaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Sat 2022-02-12 07:46:04 UTC; 7 detik yang lalu Dokumen:man:salt-minion(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltproject.io/en/latest/contents.html PID Utama:2324 (salt-minion) Tugas:8 (batas:2341) Memori:59,9M CPU:1,185s CGroup:/system.slice/salt-minion.service ??2324 /usr/bin/python3 /usr/bin/salt- minion ??2326 /usr/bin/python3 /usr/bin/salt-minion ??2328 /usr/bin/python3 /usr/bin/salt-minionFeb 12 07:46:04 debian11 systemd[1]:Memulai Garam Minion...12 Feb 07:46:04 debian11 systemd[1]:Memulai Salt Minion.Anda juga dapat memeriksa sidik jari antek menggunakan perintah berikut:
salt-call key.finger --localAnda akan mendapatkan output berikut:
lokal:14:12:ef:33:d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da :23:69:3f:62:1b:6b:4b:2f:27Pada mesin SaltStack Master, cocokkan sidik jari menggunakan perintah berikut:
salt-key --finger-allAnda akan mendapatkan output berikut:
Local Keys:master.pem:b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76:3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78master.pub:5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1Kunci Tidak Diterima:Minion1:14:12:ef:33 :d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da:23:69:3f:62:1b:6b :4b:2f:27Di SaltStack Master, terima Minion menggunakan perintah berikut:
salt-key -a Minion1Anda akan mendapatkan output berikut:
Kunci berikut akan diterima:Kunci Tidak Diterima:Minion1Lanjutkan? [n/Y] YKey untuk minion Minion1 diterima.Sekarang, verifikasi koneksi antara Master dan Minion menggunakan perintah berikut:
pengujian garam Minion1.pingAnda akan mendapatkan output berikut:
Minion1:BenarSetelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Kontrol Minion dari Master
Setelah koneksi berhasil antara Master dan Minion. Mari kita mulai menjalankan beberapa perintah pada Minion.
Jalankan perintah berikut untuk membuat daftar ruang disk yang tersedia di Minion:
salt '*' disk.usageAnda akan mendapatkan output berikut:
Minion1:---------- /:---------- 1K-blok:51538400 tersedia:47658628 kapasitas:4% sistem file:/dev/sda1 digunakan:1661604 /dev :---------- 1K-blok:998936 tersedia:998936 kapasitas:0% sistem file:udev yang digunakan:0 /dev/shm:---------- 1K-blok:1015232 tersedia :1015152 kapasitas:1% sistem file:tmpfs yang digunakan:80Untuk menginstal paket Apache di Minion, jalankan perintah berikut:
salt Minion1 pkg.install apache2Anda akan mendapatkan output berikut:
Minion1:---------- apache2:---------- baru:2.4.52-1~deb11u2 lama:apache2-bin:-------- -- baru:2.4.52-1~deb11u2 lama:apache2-data:---------- baru:2.4.52-1~deb11u2 lama:apache2-utils:-------- -- baru:2.4.52-1~deb11u2 lama:libapr1:---------- baru:1.7.0-6+deb11u1 lama:libaprutil1:---------- baru:1.6.1-5 lama:libaprutil1-dbd-sqlite3:---------- baru:1.6.1-5 lama:libaprutil1-ldap:---------- baru:1.6. 1-5 tua:Untuk memeriksa memori kosong pada Minion, jalankan perintah berikut:
salt '*' cmd.run 'free -m'Anda akan mendapatkan output berikut:
Minion1:total penggunaan buff/cache bersama gratis yang tersedia Mem:1982 140 1392 2 450 1691 Tukar:0 0 0Gunakan File Status Salt untuk Mengelola Minion
File status juga dikenal sebagai file manajemen konfigurasi yang digunakan untuk mengonfigurasi dan mengelola Minion.
Untuk membuat file status, Anda perlu membuat basis lingkungan untuk SaltStack.
mkdir /src/saltSelanjutnya, buat file status dengan perintah berikut:
nano /src/salt/setup.slsTambahkan kode berikut untuk menginstal paket PHP, UNZIP dan Apache di Minions:
network_utilities:pkg.installed:- pkgs:- php - unzip apache2_pkg:pkg.installed:- nama:apache2 apache2_service:service.running:- nama:apache2 - aktifkan:Benar - memerlukan:- pkg:apache2_pkgSimpan dan tutup file kemudian terapkan konfigurasi ke semua Minion menggunakan perintah berikut:
salt '*' state.apply setupAnda akan mendapatkan output berikut:
Minion1:---------- ID:network_utilities Fungsi:pkg.installed Hasil:True Comment:Paket-paket berikut telah diinstal/diperbarui:php, unzip Dimulai:07:51:22.424504 Durasi:17349.907 ms Perubahan:---------- libapache2-mod-php7.4:---------- baru:7.4.25-1+deb11u1 lama:php:------- --- baru:2:7.4+76 lama:php-umum:---------- baru:2:76 lama:php7.4:---------- baru:7.4 .25-1+deb11u1 lama:php7.4-cli:---------- baru:7.4.25-1+deb11u1 lama:php7.4-umum:--------- - baru:7.4.25-1+deb11u1 lama:php7.4-json:---------- baru:7.4.25-1+deb11u1 lama:php7.4-opcache:-------- -- baru:7.4.25-1+deb11u1 lama:php7.4-readline:---------- baru:7.4.25-1+deb11u1 lama:psmisc:-------- -- baru:23,4-2 lama:unzip:---------- baru:6.0-26 lama:---------- ID:apache2_pkg Fungsi:pkg.installed Nama:apache2 Hasil :True Comment:Semua paket yang ditentukan sudah diinstal Mulai:07:51:39.780956 Durasi:1029.457 ms Perubahan:---------- ID:apache2_service Fungsi:serv ice.running Nama:apache2 Hasil:Benar Komentar:Layanan apache2 sudah berjalan Dimulai:07:51:40,812210 Durasi:35,61 ms Perubahan:Ringkasan untuk Minion1------------Berhasil:3 (berubah =1)Gagal:0------------Total status berjalan:3Total waktu berjalan:18.415 detikKesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi SaltStack Master dan Minion di server Debian 11. Kami juga menjelaskan cara mengelola Minion menggunakan file status dan baris perintah. Saya harap ini akan membantu Anda untuk mengotomatisasi dan mengelola infrastruktur Anda dari lokasi pusat. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.
Debian