SaltStack - sól przez SSH

Sól wykonuje polecenia w systemie zdalnym przy użyciu salt-minion. To jest normalne zachowanie. W niektórych scenariuszach dostęp do systemu zdalnego można uzyskać tylko za pośrednictwem protokołu SSH. W tych scenariuszach Salt zapewnia opcję podłączenia zdalnego systemu przy użyciu tylko protokołu SSH i wykonania polecenia przez warstwę SSH.

Salt SSHjest bardzo łatwy w konfiguracji. Jedyną potrzebną konfiguracją jest określenie szczegółów systemu zdalnego w specjalnym pliku o nazwieRoster file. Ten plik listy znajduje się zwykle w/etc/salt/roster. Plik listy zawiera wszystkie informacje dotyczące zdalnego systemu i tego, jak możemy się z nim połączyć. Po skonfigurowaniu plików spisu wszystkie polecenia Salt są wykonywane przy użyciu rozszerzeniasalt-ssh zamiast rozkazu soli.

Plik listy

System Roster został zaprojektowany specjalnie dla Salt SSH. Jest to zaprojektowany jako system wtykowy. Jedynym celem systemu dyżurów jest zbieranie informacji o systemie zdalnym. Plik listy to plikYAML based configuration file zawierające informacje o systemie zdalnym jako targets. Te cele to specjalna struktura danych ze wstępnie zdefiniowanym zestawem atrybutów. Plik listy zawiera co najmniej jeden cel, a każdy cel jest oznaczony symbolemSalt ID.

Podstawowa struktura pliku listy jest następująca -

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

Wszystkie inne atrybuty obsługiwane przez plik listy są opcjonalne. Są następujące -

  • port - Numer portu SSH.

  • sudo - czy uruchomić polecenie przez sudo.

  • sudo_user - nazwa użytkownika sudo.

  • tty - prawda, jeśli włączone jest sudo.

  • priv - klucz prywatny.

  • timeout - limit czasu dla połączenia SSH.

  • minion_opts - słownik opts stworów.

  • thin_dir - katalog przechowywania w systemie docelowym dla składników soli.

  • cmd_umask - umask, aby zmusić do rozkazu wzywania soli.

Przykładowy plik spisu jest następujący -

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

Wdróż klucze SSH

Salt SSH wygeneruje domyślne pary kluczy publiczny / prywatny do logowania SSH. Domyślna ścieżka to /etc/salt/pki/master/ssh/salt-ssh.rsa. Ten klucz można wdrożyć w systemie zdalnym przy użyciussh-copy-id polecenie, jak pokazano poniżej.

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

Wykonaj polecenie

Wykonanie polecenia soli jest tak proste, jak zmiana pliku salt cli polecenie do salt-ssh jak pokazano niżej.

salt-ssh '*' test.ping

Polecenie surowej powłoki

Salt SSH zapewnia opcję (-r) do wykonania surowego polecenia w systemie zdalnym z pominięciem modułu i funkcji soli.

salt-ssh '*' -r 'ls'

Celowanie za pomocą Salt SSH

Kierowanie na system zdalny w Salt SSH obsługuje tylko cele glob i regex. Ponieważ Salt SSH jest oddzielnym modułem, zapewnia obecnie tylko ograniczone opcje i zapewni więcej funkcji w najbliższej przyszłości.