SaltStack - Salt melalui SSH

Salt menjalankan perintah di sistem jarak jauh dengan menggunakan salt-minion. Ini adalah perilaku normal. Dalam beberapa skenario, sistem jarak jauh hanya dapat diakses oleh protokol SSH. Untuk skenario ini, Salt menyediakan opsi untuk menghubungkan sistem jarak jauh menggunakan protokol SSH saja dan menjalankan perintah melalui lapisan SSH.

Salt SSHsangat mudah dikonfigurasi. Satu-satunya konfigurasi yang diperlukan adalah menentukan detail sistem jarak jauh dalam file khusus yang disebut sebagaiRoster file. File daftar ini biasanya terletak di/etc/salt/roster. File daftar akan memiliki semua informasi mengenai sistem jarak jauh dan bagaimana kita dapat terhubung dengannya. Setelah file daftar dikonfigurasi, semua perintah Salt dijalankan menggunakan filesalt-ssh alih-alih perintah garam.

File Daftar

Sistem Roster dirancang khusus untuk Salt SSH. Ini dirancang sebagai sistem yang dapat dicolokkan. Satu-satunya tujuan dari sistem daftar adalah untuk mengumpulkan informasi tentang sistem jarak jauh. File daftar adalahYAML based configuration file berisi informasi sistem jarak jauh sebagai targets. Target ini adalah struktur data khusus dengan sekumpulan atribut yang telah ditentukan sebelumnya. File daftar berisi satu atau lebih target dan setiap target diidentifikasi oleh aSalt ID.

Struktur dasar file daftar adalah sebagai berikut -

<Salt ID>:
   host: <host name>
   user: <user name>
   passwd: <password of the user>

Semua atribut lain yang didukung oleh file daftar adalah opsional. Mereka adalah sebagai berikut -

  • port - Nomor port SSH.

  • sudo - apakah akan menjalankan perintah melalui sudo.

  • sudo_user - nama pengguna sudo.

  • tty - benar jika sudo diaktifkan.

  • priv - kunci pribadi.

  • timeout - batas waktu untuk koneksi SSH.

  • minion_opts - kamus pilihan antek.

  • thin_dir - direktori penyimpanan sistem target untuk komponen garam.

  • cmd_umask - umask untuk memaksa perintah salt-call.

Contoh file daftar nama adalah sebagai berikut -

web:
   host: 192.168.2.1
   user: webuser
   passwd: secret
   sudo: True   
db:
   host: 192.168.2.2

Terapkan Kunci SSH

Salt SSH akan menghasilkan pasangan kunci publik / pribadi default untuk login SSH. Path defaultnya adalah /etc/salt/pki/master/ssh/salt-ssh.rsa. Kunci ini dapat digunakan ke sistem jarak jauh menggunakanssh-copy-id perintah seperti yang ditunjukkan di bawah ini.

ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub [email protected]

Jalankan Perintah

Menjalankan perintah garam semudah mengubah salt cli perintah ke salt-ssh seperti gambar dibawah.

salt-ssh '*' test.ping

Perintah Shell Mentah

Salt SSH menyediakan opsi (-r) untuk menjalankan perintah mentah di sistem jarak jauh dengan melewati modul dan fungsi garam.

salt-ssh '*' -r 'ls'

Menargetkan dengan Salt SSH

Menargetkan sistem jarak jauh di Salt SSH hanya mendukung target glob dan regex. Karena Salt SSH adalah modul terpisah, ia hanya menyediakan opsi terbatas seperti saat ini dan akan menyediakan lebih banyak fitur dalam waktu dekat.