解決策
接続プロセスでは、TCPポート4505および4506経由でSaltが使用されるため、SystemLinkクライアント上でSalt-minionが実行され、SystemLinkサーバ上でSalt-Masterが実行されます。正常な接続プロセスは次のように実行されます。
- SystemLinkクライアントソフトウェアはクライアントシステムにインストールされます。
- クライアントが Windowsまたはリアルタイム(RT)ターゲットの場合、インストールプロセスが変わります。
- ユーザは、WindowsのSystemLinkクライアントアプリケーションに、またはRTターゲットの場合はNI MAXを介して、SystemLinkサーバアドレス(優先ホスト名、ホスト名、または IP アドレス)を入力します。
- クライアントコンピュータ上のSalt-minionサービスは、入力されたサーバアドレスへの接続を試行します。
- このサービスは、SystemLinkクライアントアプリケーションによって自動的にインストールされます。
- データ暗号化のための一意のpublic_keyを自動的に作成します。
- このクライアント システム用に一意のminionID (GUID)を自動的に作成します。
- ポート4505およびポート4506でサーバへのTCP接続を開きます。
- これらのTCP接続は持続し、通信に何度も使用されます。
- TCPポート4506でサーバにpublic_keyとminionIDを定期的に送信しようとします。
- SystemLinkサーバはクライアントからpublic_keyとminionIDを取得します。
- リアルタイムターゲットの場合、WindowsのSystemLinkクライアントダイアログまたはNI MAXのSystemLink設定フィールドには、接続済みのステータスが表示されます。
- この時点で、SystemLinkクライアントのminionIDが、SystemLink Server Web UIのシステム管理>> システム]>> 保留中のシステムタブに表示されます。
- この段階では、SystemLinkサーバはまだSystemLinkクライアントにSalt jobを送信できません。
- DOSでsalt-keyを実行すると、このSystemLinkクライアントのminionIDがUnaccepted Keysに表示されます。
- このSystemLinkクライアントのminionIDを使用してSalt-master test.pingを実行すると、 Falseが返されます。
- SystemLink Serverユーザーは、保留中のSystemLinkクライアントを承認します。このためには、そのクライアント (minionIDで識別される)のシステム管理>> システム>> 保留中のシステムタブにある承認ボタンを押します。
- SystemLinkサーバは、そのSystemLinkクライアントのノードライセンスをチェックアウトします (利用可能な場合)。
- そのSystemLinkクライアントのminionIDとpublic_key は、SystemLink Serverに保存されるようになった状態です。
- DOSでsalt-keyを実行すると、このSystemLinkクライアントのminionIDがAccepted Keysに表示されます。
- このSystemLinkクライアントのminionIDを使用してSalt-master test.pingを実行すると、 Trueが返されます。
- SystemLink Serverは、このSystemLinkクライアント上で実行される更新ジョブをスケジュールします。
- Salt-masterは、接続の確立を通知するイベントを発行します。
- SystemsManagement Serviceはそのイベントに反応します。
- このSystemLinkクライアントのシステムページヘッダーを接続済みに更新します。
- TCPポート4505でこのSystemLinkクライアントに更新ジョブを送信します。
- 更新ジョブはSystemLinkクライアントコンピュータ上で実行され、次のことが行われます。
- サーバから送信されたHTTPS Web証明書を登録します。
- サーバから送信されたURLを格納します。
- サーバから送信されたこのクライアントシステムのApiKeyを保存します。
- grains dictionaryと呼ばれる、すべてのクライアント情報 (ホスト名、ネットワーク構成、シリアル番号、インストールされているソフトウェア、構成されたフィードなど) を収集します。
- SystemLinkクライアントのgrains dictionaryをSystemLinkサーバに送り返します。
- SystemLink サーバは、クライアントシステムのgrains dictionaryを受信します。
- TCPポート4506でクライアントからgrains dictionaryを受信します。
- grains dictionaryからのすべてのSystemLinkクライアント情報を保存します。
- 受信したSystemLink クライアント情報をすべてのシステムテーブルとページに表示します。
- このSystemLinkクライアントのシステムテーブルの接続状態を接続済みとして表示します。
- SystemLinkクライアントは、すべての(後続の)データをHTTP(S)接続経由でサーバに送信します。
- 保存されたホストアドレス、ApiKey、Web証明書を使用してHTTP(S)経由で接続します。
- タグ、ファイル、テスト結果などを、saltや TCPではなくHTTP(S)経由でのみ送信します。
- SystemLinkクライアントのヘルスタグの更新をチェックすることで、これが機能していることを確認できます。
- ヘルスタグは5 分ごとに更新されるため、最初は待つ必要があります。
- これを表示するには、システムテーブルにカスタム列を作成すると便利です。