使用事例:Linux 環境で API を使用してミニオンを展開する方法

この使用事例の目的は、Linux 仮想マシンを Automation Config 環境に接続して、プログラムによって Salt ミニオン サービスをミニオンにインストールすることです。
Linux 環境で API を使用してミニオンを展開するには、次の条件が満たされている必要があります。
  • RaaS が展開された Automation Config 環境がある。
  • Salt マスターと Salt ミニオンがインストールされている。
  • Linux 仮想マシンが展開されている。
  • ポート 22 がファイアウォールが設定されていないことと、ミニオンに使用できることを確認します。
  1. フォルダ
    etc/salt/cloud.deploy.d
    にこれらのファイルのコレクションが含まれていることを確認します。これらのファイルは、OS ディストリビューション リリースと、システムで必要な Salt リリースに一致する必要があります。
    Salt マスターの cloud.deploy.d ディレクトリ内にある必要なファイルのリスト
    ファイルが表示されない場合は、サポートにお問い合わせください。
    ファイル名(salt-xxxx-redhat-8-x86_64-amd64.tar.gz など)の xxxx は、Salt マスターのバージョンと一致する必要があります。Salt マスターのバージョンを確認するには、Salt マスターで
    salt-master -V
    コマンドを実行します。
  2. 環境がエアギャップ環境の場合は、次の手順を実行します。
    1. /etc/raas/raas
      で RaaS 構成ファイルを開きます。
    2. 構成ファイルに次の行を追加します。
      minion_deployment: airgap_install: true
    3. service raas restart
      コマンドを使用して、RaaS サービスを再起動します。
    強化された Linux 仮想マシンを使用しているときに、仮想マシンの
    /tmp
    からスクリプトを実行できない場合があります。
    • Automation Assembler バージョン 8.10.2 以降を使用している場合:クラウド テンプレートの Automation Config リソースに
      additionalAuthParams
      プロパティを追加します。詳細については、クラウド テンプレートへの Automation Config リソースの追加を参照してください。
      additionalAuthParams: profile: tmp_dir: /var/cache/salt
    • Automation Assembler バージョン 8.10.1 以前を使用している場合:
      /etc/salt/cloud.providers.d/ssc_saltify_provider.conf
      ファイルを以下のように変更します。
      ssc_saltify_provider: driver: saltify tmp_dir: /var/cache/salt
      この構成ファイルが存在しない場合は、作成して上記の設定を追加します。
  3. Salt マスターの FQDN を特定するには、Salt マスターのターミナルで
    salt saltmaster grains.get fqdn
    コマンドを実行します。
  4. ping [FQDN]
    コマンドを実行して、Salt マスターの FQDN が構成されていることを確認します。
    Linux マシンで ping FQDN コマンドを実行した結果
  5. Python を開くには、
    python3
    を実行します。
  6. 環境に適した認証情報を使用して、SSEAPI クライアントを使用して次の API 呼び出しを行います。
    from sseapiclient import APIClient client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False) client.api.minions.deploy_minion( master_id = '<master-id>', host_name_ip = '<prospective minion’s ip>', os = ‘<prospective minion’s os>’, minion_id = '<desired-minion-name-for-prospective-minion>', username = '<ssh-username-for-prospective-minion>', password = '<ssh-password-for-prospective-minion>', )
    Automation Config 環境で
    deploy.minion
    関数の実行が開始されます。Automation Config ユーザー インターフェイスの
    アクティビティ
    タブで、ジョブが実行されていることを確認できます。
    Automation Assembler からミニオンを展開している場合、この API 呼び出しは Automation Assembler によって実行されます。
Linux 環境および API 呼び出しからミニオンが正常に展開されて、構成されました。
コマンドの実行
ウィンドウを使用してミニオンに対して
test.ping
コマンドを実行するか、Salt マスター コマンド ウィンドウで
\* test.ping
コマンドと
\* test.versions
コマンドを実行して、ミニオンが正常に展開されたことを確認します。