Skip to main content
  1. Posts/

Install Salt Master dan Minion

·3 mins·
salt salt
Table of Contents

Fungsi Salt pada topologi master/minion. Saltmaster bertindak sebagai kontrol pusat untuk klien, yang disebut minion. Minion berfungsi sebagai agents yang terhubung ke master

Percobaan dibawah menggunakan 2 VM dengan OS Ubuntu 22.04

Install repo salt
#

Install repo pada server Master dan Minion

sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/latest/salt-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/latest jammy main" | sudo tee /etc/apt/sources.list.d/salt.list

Output

root@saltmaster:/etc/apt/sources.list.d# cat salt.list
deb [signed-by=/etc/apt/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/latest jammy main

Jalankan apt update

apt update

Install salt pada server Master
#

apt -y install salt-master salt-ssh salt-syndic salt-cloud salt-api

Start service salt-master

systemctl enable --now salt-master.service
root@saltmaster:~# systemctl status salt-master.service
● salt-master.service - The Salt Master Server
     Loaded: loaded (/lib/systemd/system/salt-master.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-01-05 20:16:57 UTC; 2s ago
       Docs: man:salt-master(1)
             file:///usr/share/doc/salt/html/contents.html
             https://docs.saltproject.io/en/latest/contents.html
   Main PID: 4680 (/opt/saltstack/)
      Tasks: 26 (limit: 2322)
     Memory: 200.6M
        CPU: 5.227s
     CGroup: /system.slice/salt-master.service
             ├─4680 "/opt/saltstack/salt/run/run master MainProcess"
             ├─4730 "/opt/saltstack/salt/run/run master PubServerChannel._publish_daemon"
             ├─4731 "/opt/saltstack/salt/run/run master EventPublisher"
             ├─4734 "/opt/saltstack/salt/run/run master Maintenance"
             ├─4735 "/opt/saltstack/salt/run/run master ReqServer ReqServer_ProcessManager"
             ├─4736 "/opt/saltstack/salt/run/run master ReqServer MWorkerQueue"
             ├─4737 "/opt/saltstack/salt/run/run master ReqServer MWorker-0"
             ├─4738 "/opt/saltstack/salt/run/run master ReqServer MWorker-1"
             ├─4739 "/opt/saltstack/salt/run/run master ReqServer MWorker-2"
             ├─4740 "/opt/saltstack/salt/run/run master ReqServer MWorker-3"
             ├─4747 "/opt/saltstack/salt/run/run master FileServerUpdate"

Install salt pada server Minion
#

apt -y install salt-minion salt-ssh salt-syndic salt-cloud salt-api

Start service salt-minion

systemctl enable --now salt-minion.service
root@saltminion:~# systemctl status salt-minion.service
● salt-minion.service - The Salt Minion
     Loaded: loaded (/lib/systemd/system/salt-minion.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-01-05 20:18:14 UTC; 5s ago
       Docs: man:salt-minion(1)
             file:///usr/share/doc/salt/html/contents.html
             https://docs.saltproject.io/en/latest/contents.html
   Main PID: 3210 (/opt/saltstack/)
      Tasks: 3 (limit: 2322)
     Memory: 76.2M
        CPU: 1.869s
     CGroup: /system.slice/salt-minion.service
             ├─3210 "/opt/saltstack/salt/run/run minion"
             └─3216 "/opt/saltstack/salt/run/run minion MultiMinionProcessManager MinionProcessManager"

Setting konfig master pada server Minion
#

Buat file pada path berikut

nano /etc/salt/minion.d/master.conf

Lalu edit master menyesuaikan ip dari server Master

root@saltminion:~# cat /etc/salt/minion.d/master.conf
master: 172.13.13.178

Restart service salt-minion

root@saltminion:~# systemctl restart salt-minion

Add salt key server Minion
#

Cek public keys

salt-key -L
root@saltmaster:~# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
saltminion
Rejected Keys:

Pada bagian Unaccepted Keys akan muncul hostname server minion

Selanjutnya add dengan perintah berikut

salt-key -a saltminion 

Atau bisa dengan perintah berikut untuk menerima semua Unaccepted Keys

salt-key -A
root@saltmaster:~# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
saltminion
Proceed? [n/Y] y
Key for minion saltminion accepted.

Cek lagi public key

root@saltmaster:~# salt-key -L 
Accepted Keys:
saltminion
Denied Keys:
Unaccepted Keys:
Rejected Keys:

Hostname saltminion sudah masuk ke Accepted Keys

Test Salt
#

root@saltmaster:~# salt '*' test.version
saltminion:
    3005.1

Help Salt
#

Beberapa option beserta contoh salt bisa dicek dengan perintah berikut

salt '*' [ options ] sys.doc
salt -E '.*' [ options ] sys.doc cmd

Sebagai referensi Install Salt dengan OS lain bisa dicek pada page Manual Install

Related

Manage SSH Client dengan Salt
·1 min
salt salt
Backup dan Restore Partisi table di Linux
·3 mins
linux linux
Cara membuat Logical Volume (LVM)
·3 mins
lvm linux lvm
Cek dan Repair FAT filesystem Linux
·1 min
linux
Setting JS Snippet Cloudflare pada Jekyll
·1 min
jekyll jekyll cloudflare