Saltstack-salt-through-ssh

提供:Dev Guides
移動先:案内検索

SaltStack-SSHを介したソルト

Saltは、 salt-minion を使用して、リモートシステムでコマンドを実行します。 これは通常の動作です。 一部のシナリオでは、リモートシステムはSSHプロトコルによってのみアクセスできます。 これらのシナリオでは、SaltはSSHプロトコルのみを使用してリモートシステムに接続し、SSHレイヤーを介してコマンドを実行するオプションを提供します。

*Salt SSH* は非常に簡単に設定できます。 唯一必要な設定は、* Rosterファイル*と呼ばれる特別なファイルでリモートシステムの詳細を指定することです。 この名簿ファイルは、通常 */etc/salt/roster* にあります。 名簿ファイルには、リモートシステムとその接続方法に関するすべての情報が含まれます。 名簿ファイルが設定されると、saltコマンドの代わりに *salt-ssh* を使用してすべてのSaltコマンドが実行されます。

名簿ファイル

Roster Systemは、Salt SSH専用に設計されています。 これはプラグ可能なシステムとして設計されています。 名簿システムの唯一の目的は、リモートシステムに関する情報を収集することです。 名簿ファイルは、ターゲット*としてリモートシステム情報を含む YAMLベースの設定ファイル*です。 これらのターゲットは、定義済みの属性セットを持つ特別なデータ構造です。 名簿ファイルには1つ以上のターゲットが含まれ、各ターゲットは Salt ID によって識別されます。

名簿ファイルの基本構造は次のとおりです-

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

名簿ファイルでサポートされている他のすべての属性はオプションです。 彼らは次のとおりです-

  • port -SSHポート番号。
  • sudo -sudoを介してコマンドを実行するかどうか。
  • sudo_user -sudoユーザー名。
  • tty -sudoが有効な場合はtrue。
  • priv -秘密鍵。
  • timeout -SSH接続のタイムアウト。
  • minion_opts -ミニオンオプションの辞書。
  • thin_dir -saltコンポーネントのターゲットシステムのストレージディレクトリ。
  • cmd_umask -salt-callコマンドを強制するumask。

サンプル名簿ファイルは次のとおりです-

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

SSHキーを展開する

Salt SSHは、SSHログイン用のデフォルトの公開/秘密キーペアを生成します。 デフォルトのパスは/etc/salt/pki/master/ssh/salt-ssh.rsaです。 このキーは、次に示すように ssh-copy-id コマンドを使用してリモートシステムに展開できます。

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

コマンド実行

以下に示すように、saltコマンドの実行は、 salt cli コマンドを salt-ssh に変更するのと同じくらい簡単です。

salt-ssh '*' test.ping

生のシェルコマンド

Salt SSHは、saltモジュールと機能をバイパスして、リモートシステムでrawコマンドを実行するオプション(-r)を提供します。

salt-ssh '*' -r 'ls'

Salt SSHを使用したターゲティング

Salt SSHでのリモートシステムのターゲットは、globおよびregexターゲットのみをサポートします。 Salt SSHは別のモジュールであるため、現在のところ限られたオプションのみを提供し、近い将来、より多くの機能を提供します。