Skip to main content
  1. Posts/

Custom Grains Salt

·2 mins·
salt salt
Table of Contents

Salt hadir dengan interface yang digunakan untuk memperoleh informasi tentang Sistem Operasi. Ini disebut interface Grains.

Grains mengumpulkan butiran informasi seperti operating system, domain name, IP address, kernel, OS type, memory dan banyak informasi lainnya

Implementasi
#

Bayangkan jika kita memilki ratusan atau bahkan ribuan server yang tersebar pada beberapa Datacenter dan sudah di install Salt

Namun sebagai Administrator ingin melakukan esekusi perintah pada server Minion yang ada pada datacenter A atau B saja, mungkin akan cukup repot jika harus esekusi salt satu per satu.

Jadi kita akan kelompokan server tersebut sesuai datacenter dengan cara mendefinisikan grains

List all available grains
#

salt 'targetminion' grains.ls
root@saltmaster:~# salt saltminion.srv1.de grains.ls
saltminion.srv1.de:
    - biosreleasedate
    - biosversion
    - cpu_flags
    - cpu_model
    - cpuarch
    - cwd
    - disks
    - dns
...

Cek grains item
#

Contoh apabila ingin cek IP menggunakan grains

salt 'targetminion' grains.item ipv4
root@saltmaster:~# salt saltminion.srv1.de grains.item ipv4
saltminion.srv1.de:
    ----------
    ipv4:
        - 127.0.0.1
        - 172.13.13.239

Atau bisa cek semua grains item dengan perintah berikut

salt '*' grains.items

Add custom grains
#

Untuk menambahkan custom grains gunakan perintah berikut

salt 'targetminion' grains.append key val
root@saltmaster:~# salt saltminion.srv1.de grains.append datacenter us1-east
saltminion.srv1.de:
    ----------
    datacenter:
        - us1-east

Setelah itu cek file grains pada server Minion

root@saltminion:~# cat /etc/salt/grains
datacenter:
- us1-east

Test custom grains
#

Test ping semua server yang ada pada datacenter us1-east untuk memastikan minion aktif dan merespon

salt -G 'datacenter:us1-east' test.ping
root@saltmaster:~# salt -G 'datacenter:us1-east' test.ping
saltminion.srv1.de:
    True

Delete grains item
#

Misal ingin menghapus grains item

salt '*' grains.delkey key
root@saltmaster:~# salt saltminion.srv1.de grains.item roles
saltminion.srv1.de:
    ----------
    roles:
        - webserver
root@saltmaster:~# salt saltminion.srv1.de grains.delkey roles force=True
saltminion.srv1.de:
    ----------
    changes:
        ----------
        roles:
            None
    comment:
    result:
        True

List minion dengan grains
#

root@saltmaster:~# salt '*' grains.get datacenter
saltminion.srv1.de:
    - us1-east

Hapus value grains item
#

salt '*' grains.remove key val
root@saltmaster:~# salt saltminion.srv1.de grains.remove datacenter us1-east
saltminion.srv1.de:
    ----------
    datacenter:

Setting value dan multi value grains item
#

salt '*' grains.setval key val
root@saltmaster:~# salt saltminion.srv1.de grains.setval roles sharedhost
saltminion.srv1.de:
    ----------
    roles:
        sharedhost

root@saltmaster:~# salt saltminion.srv1.de grains.setval roles ['sharedhost','vps','mining']
saltminion.srv1.de:
    ----------
    roles:
        - sharedhost
        - vps
        - mining

Related

Install Salt Master dan Minion
·3 mins
salt salt
Manage SSH Client dengan Salt
·1 min
salt salt
Setting Network Ubuntu dengan Netplan
·1 min
ubuntu ubuntu linux
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