SaltStack Config クラウド インスタンスへのアクセス権を受け取った後に、Salt マスターを SaltStack Config クラウドに接続することができます。オンプレミスまたはクラウドにある Salt マスターを接続できます。

各 Salt マスターには、SaltStack Config クラウド インスタンスに接続する権限が必要です。Salt マスターを認証するには、VMware Cloud Services Platform (CSP) のアカウント画面で API トークンを生成する必要があります。次に、API トークンを Salt マスターに環境変数としてエクスポートし、コマンドを実行して Salt マスターを SaltStack Config クラウドに接続します。

開始する前に

  • 1 つの Salt マスターと 1 つ以上の Salt ミニオンで構成される既存の Salt 環境が必要です。各 Salt ミニオンは、Salt マスターに接続されている必要があります。ノードに Salt マスターおよび Salt ミニオン サービスをインストールする方法については、Salt のインストールまたはアップグレード(インストール前)を参照してください。
  • 各 Salt マスターにバージョン 8.10.1.2 以降のマスター プラグインをインストールする必要があります。
  • 次のコマンドを使用して、Salt マスターに PyJWT ライブラリおよび Pika Python ライブラリをインストールする必要があります。
    pip3 install pika==1.2.0
    pip3 install pyjwt==2.3.0
  • 次の CSP ロールが必要です。
    • 組織ロール:組織所有者または組織管理者
    • サービス ロール:CSP の SaltStack Config サービスのスーパー ユーザー
  • デフォルトの組織を、SaltStack Config クラウド サービスにアクセス可能な組織に設定します。

API トークンの生成

Salt マスターを SaltStack Config クラウドに接続するには、事前に CSP コンソールを使用して API トークンを生成する必要があります。このトークンは、CSP で Salt マスターを認証するために使用されます。

API トークンを生成するには、次の手順に従います。

  1. Cloud Services コンソールのツールバーでユーザー名をクリックし、[マイ アカウント] > [API トークン] の順に選択します。
  2. [トークンの生成] をクリックします。

    CSP の [API トークン] 画面

  3. フォームに入力します。

    CSP でのトークン フォームの生成

    1. トークンの名前を入力します。
    2. トークンの TTL 時間を選択します。デフォルトの期間は 6 か月です。
      注: 期限のないトークンは、侵害された場合にセキュリティ リスクになる可能性があります。そのような場合は、トークンを取り消す必要があります。
    3. トークンの範囲を定義します。
      範囲 説明
      組織ロール

      組織ロールは、組織のリソースへのユーザーのアクセスを決定します。

      SaltStack Config Cloud サービスにアクセスするには、[組織管理者]または [組織所有者]ロールを選択する必要があります。

      [新しい API トークンの生成] ページで選択された組織管理者ロール
      サービス ロール

      サービス ロールは、VMware Cloud Services へのアクセスを許可する組み込みの事前定義された権限セットです。

      SaltStack Config Cloud サービスにアクセスするには、SaltStack Config サービス を検索し、[[Salt Master]] サービス ロールを選択します。

      SaltStack Config サービスに対して選択された Salt マスター サービス ロール
    4. (オプション)トークンの有効期限が近付いたときにリマインダを受信するように E メールを設定します。
    5. [生成] をクリックします。

      新しく生成された API トークンが [生成したトークン] ウィンドウに表示されます。

  4. トークンの認証情報を安全な場所に保存します。

    トークンの生成後は、[API トークン] 画面にトークンの名前のみが表示されます。認証情報は表示されません。トークンを再生成するには、[再生成] をクリックします。

  5. [続行] をクリックします。

Salt マスターの SaltStack Config クラウドへの接続

API トークンを生成したら、それを使用して Salt マスターを SaltStack Config クラウドに接続できます。

Salt マスターを接続するには、次の手順に従います。

  1. Salt マスターにログインし、/etc/salt/master.d/raas.conf ファイルがあることを確認します。

    このファイルがない場合は、マスター プラグインをインストールして構成する必要があります。

  2. Salt マスターのターミナルで、API トークンを環境変数として保存します。
    export CSP_API_TOKEN=<api token value>
  3. Salt マスターでバージョン 8.9.0 以前のマスター プラグインが実行されている場合は、Salt マスターを SaltStack Config Cloud に再登録する必要があります。詳細については、Salt マスターを SaltStack Config Cloud に再接続する方法を参照してください。
  4. Salt マスターでバージョン 8.9.1 以降のマスター プラグインが実行されている場合は、次のコマンドを実行して Salt マスターを SaltStack Config Cloud に接続し、ssc-urlcsp-url の値をリージョン固有の URL に置き換えます。
    sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    リージョン名 SSC URL CSP URL
    US https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    DE(ドイツ) https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    IN(インド) https://in.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com

    次のサンプル コードは、米国リージョンで応答に成功する例を示しています。

    2022-08-16 21:28:26 [INFO] SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    2022-08-16 21:28:26 [INFO] Retrieving CSP auth token.
    2022-08-16 21:28:27 [INFO] Creating new oauth app.
    2022-08-16 21:28:27 [INFO] Finished with oauth app [Salt Master App for master id:my-salt-master] in org [6bh70973-b1g2-716c-6i21-i9974a6gdc85].
    2022-08-16 21:28:29 [INFO] Added service role [saltstack:master] for oauth app [Salt Master App for master id:my-salt-master].
    2022-08-16 21:28:29 [INFO] Created pillar [CSP_AUTH_TOKEN].
    2022-08-16 21:28:29 [INFO] Updated master config. Please restart master for config changes to take effect.
    2022-08-16 21:28:29 [INFO] Updated master cloud.conf.
    2022-08-16 21:28:29 [INFO] Validating connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]
    2022-08-16 21:28:29 [INFO] Successfully validated connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]. Response: {'version': 'v8.9.0.5', 'vipVersion': '8.9.0'}
    2022-08-16 21:28:29 [INFO] Finished SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    
  5. Salt マスター サービスを再起動します。
    systemctl restart salt-master
  6. 各 Salt マスターに対してこのプロセスを繰り返します。
注: 各 Salt マスターを SaltStack Config Cloud に接続した後で、API トークンを削除できます。API トークンは、Salt マスターを SaltStack Config Cloud に接続する場合のみ必要です。

sseapi-config コマンドを実行すると、各 Salt マスターの CSP 組織内に OAuth アプリケーションが作成されます。Salt マスターは OAuth アプリケーションを使用して、SaltStack Config クラウドへのすべての要求に追加される CSP アクセス トークンを取得します。OAuth アプリケーションの詳細を表示するには、[組織] > [OAuth アプリケーション] の順に選択します。

このコマンドは、Salt マスターに CSP_AUTH_TOKEN と呼ばれるピラー データも作成します。ピラーは、Salt マスターに格納され、そのデータへのアクセスが許可されている 1 つ以上のミニオンに渡されるデータの構造です。ピラー データは /srv/pillar/csp.sls に保存され、クライアント ID、シークレット、組織 ID、および CSP URL が含まれます。

ピラー データの例:
CSP_AUTH_TOKEN:
   csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh
   csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95
   csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85
   csp_url: https://console.cloud.vmware.com

シークレットをローテーションする必要がある場合は、sseapi-config join コマンドを再実行できます。

ピラー データの詳細については、状態ファイルとピラー データの作成方法を参照してください。

Salt マスター キーの受け入れ

Salt マスターの起動時には(パスワード認証を使用しない場合)、パブリック キー ファイルが生成されます。マスターの実行が開始されますが、キーが受け入れられるまで SaltStack Config クラウドとの通信は失敗します。

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

  1. SaltStack Config のユーザー インターフェイスにログインします。
  2. 左上のナビゲーション バーで、[メニュー] [メニュー] アイコン をクリックし、[管理] を選択して、管理ワークスペースにアクセスします。[マスター キー] タブをクリックします。
  3. サイド メニューの [保留中] をクリックして、保留中のすべてのマスター キーのリストを表示します。

    マスター キーが表示されない場合は、SaltStack Config Cloud のトラブルシューティングを参照してください。

  4. マスター キーの横にあるチェック ボックスをオンにして選択します。次に、[キーの受け入れ] をクリックします。
  5. マスター キーを受け入れた後、受け入れが保留されているキーがあるというアラートが表示されます。これらのミニオン キーを受け入れるには、[ミニオン キー][保留中] を選択します。
  6. ミニオンの横にあるチェック ボックスをオンにして選択します。次に、[キーの受け入れ] をクリックします。
  7. 確認のダイアログで [受け入れる] をクリックします。

キーが受け入れられます。数秒後、ミニオンが [受け入れ済み] タブと [ターゲット] ワークスペースに表示されます。

SaltStack Config ユーザー インターフェイスで test.ping コマンドを実行して、Salt マスターと Salt ミニオンが通信していることを確認できます。詳細については、[ターゲット] ワークスペースからのアドホック ジョブの実行を参照してください。

次の手順

test.ping コマンドを正常に実行したら、SaltStack Config Cloud を使用することで、イベント駆動型の自動化を使用して、任意のスケールで仮想マシンにソフトウェアをプロビジョニング、構成、展開できます。

SaltStack Config CloudCloud Assembly と統合して、クラウド テンプレートを使用して Salt ミニオンと状態ファイルを展開することもできます。

次の表に、詳細を把握するのに役立つリソースを示します。

詳細 参照先
SaltStack Config Cloud へのユーザー アクセスの管理
SaltStack Config CloudCloud Assembly の統合 vRealize Automation Cloud での SaltStack Config 統合の構成
SaltStack Config の主な機能 SaltStack Config の開始