SaltStack - SSH ile Tuz

Salt, uzaktaki bir sistemde komutları kullanarak salt-minion. Bu normal bir davranıştır. Bazı senaryolarda, uzaktaki sisteme yalnızca SSH protokolü ile erişilebilir. Bu senaryolar için Salt, uzak sistemi yalnızca SSH protokolünü kullanarak bağlama ve komutu SSH katmanı üzerinden yürütme seçeneği sunar.

Salt SSHyapılandırması çok kolaydır. Gerekli olan tek yapılandırma, uzaktaki sistem ayrıntılarını, adı verilen özel bir dosyada belirtmektir.Roster file. Bu liste dosyası normalde şurada bulunur:/etc/salt/roster. Görev listesi dosyası, uzaktaki sistemle ve ona nasıl bağlanabileceğimizle ilgili tüm bilgileri içerecektir. Görev listesi dosyaları yapılandırıldıktan sonra, tüm Salt komutları,salt-ssh tuz komutu yerine.

Liste Dosyası

Kadro Sistemi, Salt SSH için özel olarak tasarlanmıştır. Bu, tak-çıkar bir sistem olarak tasarlanmıştır. Kadro sisteminin tek amacı, uzaktaki sistem hakkında bilgi toplamaktır. İsim listesi dosyası birYAML based configuration file uzak sistem bilgilerini içeren targets. Bu hedefler, önceden tanımlanmış özniteliklere sahip özel bir veri yapısıdır. Bir liste dosyası bir veya daha fazla hedef içerir ve her hedef, birSalt ID.

Görev listesi dosyasının temel yapısı aşağıdaki gibidir -

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

Görev listesi dosyası tarafından desteklenen diğer tüm öznitelikler isteğe bağlıdır. Bunlar aşağıdaki gibidir -

  • port - SSH bağlantı noktası numarası.

  • sudo - komutun sudo aracılığıyla çalıştırılıp çalıştırılmayacağı.

  • sudo_user - sudo kullanıcı adı.

  • tty - sudo etkinse true.

  • priv - özel anahtar.

  • timeout - SSH bağlantısı için zaman aşımı.

  • minion_opts - minion seçenekleri sözlüğü.

  • thin_dir - tuz bileşenleri için hedef sistemin depolama dizini.

  • cmd_umask - tuz çağrısı komutunu zorlamak için umask.

Örnek liste dosyası aşağıdaki gibidir -

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

SSH Anahtarlarını Dağıtın

Salt SSH, SSH girişleri için varsayılan bir genel / özel anahtar çiftleri oluşturacaktır. Varsayılan yol /etc/salt/pki/master/ssh/salt-ssh.rsa olacaktır. Bu anahtar, uzaktaki sisteme,ssh-copy-id komutu aşağıda gösterildiği gibi.

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

Komutu çalıştır

Bir salt komutunu yürütmek, salt cli emir vermek salt-ssh Aşağıda gösterildiği gibi.

salt-ssh '*' test.ping

Ham Kabuk Komutu

Salt SSH, tuz modülünü ve işlevlerini atlayarak uzak sistemde ham bir komutu yürütmek için bir seçenek (-r) sağlar.

salt-ssh '*' -r 'ls'

Salt SSH ile hedefleme

Salt SSH'de uzak sistemi hedeflemek yalnızca glob ve regex hedeflerini destekler. Salt SSH ayrı bir modül olduğu için şimdilik sadece sınırlı seçenekler sunuyor ve yakın gelecekte daha fazla özellik sağlayacak.