インフラストラクチャに Salt をインストールし、その一環として Salt マスター サービスと Salt ミニオン サービスをインストールする必要があります。

最小の条件として、Automation Config の標準インストール シナリオで使用されるノードに Salt とその依存関係がインストールされている必要があります。

Automation Config で管理するすべてのインフラストラクチャに、Salt を事前にインストールすることを推奨します。Salt をインストールすると、Salt の今後のバージョンに更新するときのプロセスが簡素化および効率化されます。Automation Config のインストールを開始する前に、Salt をインフラストラクチャにインストールし、一定期間監視して、安定して想定どおりに実行されるか確認することを検討してください。

次のガイドを参照して、Salt をインフラストラクチャに実装する際のベスト プラクティスに従っている環境であることを確認してください。

マシンに Automation Config の標準インストールの準備を行うには、Salt および Python をインストールまたはアップグレードする必要があります。インストールに関係するすべてのノードに Salt と Python が配置され、最新状態になっている必要があります。Salt とともにインストーラの依存関係がノードにインストールされていない場合、インストールは失敗します。

Salt 3006 のリリース以降、Salt Project は onedir パッケージ システムを使用します。onedir は、Python などの Salt の付属物を含め、Salt が必要とするすべての実行可能ファイルを含む「1 つのディレクトリ」を表します。onedir では、特別な設定をせずに Salt を使用できます。
注目: Salt Project では、Salt バージョンのアップデートを継続して受け取るために onedir へのアップグレードを強く推奨しています。Salt バージョン 3006 では、アップグレードには onedir パッケージのみが利用可能です。Salt バージョンおよび onedir の詳細については、ナレッジベースの記事 KB89728 を参照してください。
注: Salt Crystal インストーラ パッケージの使用は廃止されました。今後のインストールでは、onedir インストーラ パッケージの使用を推奨します。

[必須:]ブラウンフィールド/アップグレード デプロイの場合、Salt 3006 以降では、Salt マスターは従来の「root ユーザー」ではなくユーザー「salt」として実行するように構成されています。その結果、ミニオンの展開や RaaS マスター プラグインのアップグレードなど、RaaS 関連のワークフローで権限エラーが発生する可能性があります。

これを解決するには、/etc/salt/master.d/raas.conf ファイルを修正して、ユーザーを root: user: root に変更します。

Salt マスターへの Salt のインストール

標準インストールでは、Salt マスター サービスとミニオン サービスの両方を Salt マスター ホストにインストールする必要があります。

この手順では、最新の Salt リリースを Redhat/Centos 7 PY3 にインストールします。マシンで別のオペレーティング システム、または異なるバージョンの Python が実行されている場合、スクリプトは動作しません。Salt を別のオペレーティング システムまたは異なるバージョンの Python にインストールする方法については、 Salt インストール ガイドを参照してください。
注: CentOS 7 では、デフォルトで Salt マスターへの接続がブロックされます。接続を許可するファイアウォール ルールを作成する必要があります。
  • firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
  • firewall-cmd --reload
詳細については、 Salt 用にファイアウォールを開くを参照してください。
  1. Salt プロジェクト リポジトリとキーをインストールします。
    sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
  2. キャッシュをクリアします。
    sudo yum clean expire-cache
  3. Salt マスター ノードに Salt マスター サービスとミニオン サービスをインストールします。
    sudo yum install salt-master
    sudo yum install salt-minion
  4. /etc/salt/minion.d ディレクトリ内に master.conf ファイルを作成します。このファイルで、自身を指すように Salt マスターの IP アドレスを設定します。
    master: localhost
  5. Salt マスター サービスとミニオン サービスを開始します。
    sudo systemctl start salt-master
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    必要に応じて、service salt-minion restart を使用してミニオンを再起動します。

Salt ミニオンへの Salt のインストール

前のセクションの説明どおりに Salt を Salt マスターにインストールした後、次の手順として、RaaS、Redis データベース、PostgreSQL データベースになる 3 台のノードにミニオン サービス(マスター サービスではなく)をインストールします。

次に、Salt マスターと通信するようにミニオンを構成する必要があります。ミニオン サービスのインストールの詳細については、Salt ドキュメントのMinion Configurationを参照してください。

ミニオン サービスをインストールするには、次の手順に従います。

  1. 次のコマンドを実行して ミニオン サービスのみをインストールします。
    sudo yum install salt-minion
  2. すべてのプロンプトに対して y と応答して、すべての変更を受け入れます。
  3. /etc/salt/minion.d ディレクトリ内に master.conf ファイルを作成して、各ミニオンが Salt マスターと通信するように構成します。このファイルで、Salt マスターの IP アドレスを指定します。例:
    master: 192.0.2.1
  4. ミニオン サービスを開始します。
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    必要に応じて、service salt-minion restart を使用してミニオンを再起動します。

  5. 残りのすべてのノードについて、前の手順を繰り返します。

[代替方法:] VMware Tools を使用して Salt ミニオンを有効にすることもできます。詳細については、「VMware Tools を使用して Salt ミニオンを有効にする」を参照してください 。

マスターでのミニオン キーの受け入れ

これで、Salt マスター サービスとミニオン サービスがインストールされ、Salt マスターの IP アドレスがミニオンに設定されました。次は、Salt マスターがミニオンにコマンドを送信できるように、Salt マスターでミニオン キーを受け入れます。

最初に、次の手順に従います。

  • Salt マスター サービスが有効で、開始されていることを確認します。
  • ミニオンがすべてのノードで有効で、起動していることを確認します。

キーを受け入れるには、次の手順に従います。

  1. Salt マスターのターミナルで、Salt マスター上のすべてのキーを一覧表示します。
    salt-key -L
  2. すべてのミニオン ID が Unacceptedkeys に一覧表示されていることを確認します。

    Acceptedkeys にミニオン ID が表示されていれば、現時点でこれ以上のアクションは不要です。

  3. <your-minion-id> を実際のネットワークの ID に置き換えて次のコマンドを使用し、各ミニオン ID を受け入れます。
    salt-key -a <your-minion-ID>

    salt-key -A を実行すると、すべてのキーが受け入れられます。

  4. すべてのプロンプトに y と応答します。
  5. salt-key -L コマンドをもう 1 回実行して、すべてのミニオンが Acceptedkeys に表示されていることを確認します。

エアギャップ環境のシステムへの Salt のインストール

インターネット経由で Salt を定期的に更新できないことは、エアギャップ環境のネットワークでは問題になる可能性があります。このため、onedir パッケージを事前に使用して Salt をインストールすることを推奨します。

エアギャップ環境のシステム内のインフラストラクチャに Salt をインストールすることにはトレードオフが伴うため、注意が必要です。