インフラストラクチャに 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 マスターは従来の「root ユーザー」ではなくユーザー「salt」として実行するように構成されています。その結果、ミニオンの展開や RaaS マスター プラグインのアップグレードなど、RaaS 関連のワークフローで権限エラーが発生する可能性があります。
これを解決するには、/etc/salt/master.d/raas.conf ファイルを修正して、ユーザーを root: user: root
に変更します。
Salt マスターへの Salt のインストール
標準インストールでは、Salt マスター サービスとミニオン サービスの両方を Salt マスター ホストにインストールする必要があります。
firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
firewall-cmd --reload
- Salt プロジェクト リポジトリとキーをインストールします。
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
- キャッシュをクリアします。
sudo yum clean expire-cache
- Salt マスター ノードに Salt マスター サービスとミニオン サービスをインストールします。
sudo yum install salt-master sudo yum install salt-minion
/etc/salt/minion.d
ディレクトリ内にmaster.conf
ファイルを作成します。このファイルで、自身を指すように Salt マスターの IP アドレスを設定します。master: localhost
- 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を参照してください。
ミニオン サービスをインストールするには、次の手順に従います。
- 次のコマンドを実行して ミニオン サービスのみをインストールします。
sudo yum install salt-minion
- すべてのプロンプトに対して
y
と応答して、すべての変更を受け入れます。 /etc/salt/minion.d
ディレクトリ内にmaster.conf
ファイルを作成して、各ミニオンが Salt マスターと通信するように構成します。このファイルで、Salt マスターの IP アドレスを指定します。例:master: 192.0.2.1
- ミニオン サービスを開始します。
sudo systemctl enable salt-minion sudo systemctl start salt-minion
必要に応じて、
service salt-minion restart
を使用してミニオンを再起動します。 - 残りのすべてのノードについて、前の手順を繰り返します。
[代替方法:] VMware Tools を使用して Salt ミニオンを有効にすることもできます。詳細については、「VMware Tools を使用して Salt ミニオンを有効にする」を参照してください 。
マスターでのミニオン キーの受け入れ
これで、Salt マスター サービスとミニオン サービスがインストールされ、Salt マスターの IP アドレスがミニオンに設定されました。次は、Salt マスターがミニオンにコマンドを送信できるように、Salt マスターでミニオン キーを受け入れます。
最初に、次の手順に従います。
- Salt マスター サービスが有効で、開始されていることを確認します。
- ミニオンがすべてのノードで有効で、起動していることを確認します。
キーを受け入れるには、次の手順に従います。
- Salt マスターのターミナルで、Salt マスター上のすべてのキーを一覧表示します。
salt-key -L
- すべてのミニオン ID が
Unacceptedkeys
に一覧表示されていることを確認します。Acceptedkeys
にミニオン ID が表示されていれば、現時点でこれ以上のアクションは不要です。 - <your-minion-id> を実際のネットワークの ID に置き換えて次のコマンドを使用し、各ミニオン ID を受け入れます。
salt-key -a <your-minion-ID>
salt-key -A
を実行すると、すべてのキーが受け入れられます。 - すべてのプロンプトに
y
と応答します。 salt-key -L
コマンドをもう 1 回実行して、すべてのミニオンがAcceptedkeys
に表示されていることを確認します。
エアギャップ環境のシステムへの Salt のインストール
インターネット経由で Salt を定期的に更新できないことは、エアギャップ環境のネットワークでは問題になる可能性があります。このため、onedir パッケージを事前に使用して Salt をインストールすることを推奨します。
エアギャップ環境のシステム内のインフラストラクチャに Salt をインストールすることにはトレードオフが伴うため、注意が必要です。