5.2. Satellite Ansible コレクションのモジュールを使用した Playbook の作成


Satellite Ansible Collection からの Ansible モジュールは、HTTPS 経由で Satellite API と通信できる必要があります。Playbook に、API への接続を有効にするために認証方法を指定するパラメーターを含めます。

重要

ユーザー名とパスワードなどの機密認証情報は、Playbook または環境変数に直接保存しないでください。以下の例では、Ansible Vault を使用して機密データを管理します。

前提条件

  • Satellite にユーザーアカウントがあり、Playbook で定義したアクションを実行する権限がある。
  • そのユーザーの認証情報として、以下のいずれかを利用できる。

    • ユーザー名およびパスワード
    • ユーザー名および Personal Access Token
  • Playbook の実行対象とするシステム。以下の例では localhost を使用しています。

    このシステムは Satellite API にアクセスできる必要があります。以下の中から選択できます。

    • Satellite API に直接アクセスできるシステム。環境内の Satellite Server、Capsule Server、またはその他のシステムを使用できます。
    • Satellite API に直接接続せず、HTTP プロキシーを使用して Satellite に接続するシステム。

手順

  1. 機密性の高い変数を暗号化されたファイルに保存します。

    1. Ansible Vault を作成します。たとえば、My_Vault.yml という名前の vault を作成するには、以下を実行します。

      $ ansible-vault create My_Vault.yml
      Copy to Clipboard Toggle word wrap
    2. ansible-vault create コマンドでエディターが開いたら、必要なパラメーターを key: value 形式で入力します。

      Satellite のユーザー名とパスワードで認証する場合:

      My_Username: My_Admin_User_Account
      My_Password: My_Admin_Password
      My_Server_URL: https://satellite.example.com
      Copy to Clipboard Toggle word wrap

      Satellite ユーザー名と Personal Access Token (PAT) を使用して認証する場合:

      My_Username: My_Admin_User_Account
      My_Password: My_PAT
      My_Server_URL: https://satellite.example.com
      Copy to Clipboard Toggle word wrap
    3. HTTP プロキシーを使用して Satellite API にアクセスする場合は、そのプロキシーも vault に保存します。

      My_HTTP_Proxy: "http://proxy.example.com:8080"
      Copy to Clipboard Toggle word wrap
    4. 変更を保存してエディターを閉じます。Ansible は vault 内のデータを暗号化します。
  2. vault ファイルを参照する Playbook ファイルを作成します。

    注記

    次の YAML スニペットには、Playbook で使用される redhat.satellite.satellite グループのすべてのモジュールにボールト変数をパラメーターとして渡す module_defaults キーワードが含まれています。モジュールのデフォルトグループを使用すると、各モジュールにパラメーターを個別に渡すのではなく、モジュールのグループに共通のパラメーターを定義できるため、パラメーター管理が簡素化されます。

    1. Satellite API への認証方法を説明します。

      Satellite のユーザー名とパスワード、または PAT で認証する場合は、usernamepassword、および server_url パラメーターを My_Vault.yml の内容にマッピングします。

      - name: My Playbook
        hosts: localhost
        vars_files:
          - My_Vault.yml
        module_defaults:
          group/redhat.satellite.satellite:
            username: "{{ My_Username }}"
            password: "{{ My_Password }}"
            server_url: "{{ My_Server_URL }}"
        tasks:
      Copy to Clipboard Toggle word wrap
    2. HTTP プロキシーを使用して Satellite API にアクセスする必要がある場合は、https_proxy 環境変数を設定します。

      - name: My Playbook
        hosts: localhost
        vars_files:
          - My_Vault.yml
        environment:
          https_proxy: "{{ My_HTTP_Proxy }}"
        module_defaults:
          group/redhat.satellite.satellite:
            username: "{{ My_Username }}"
            password: "{{ My_Password }}"
            server_url: "{{ My_Server_URL }}"
        tasks:
      Copy to Clipboard Toggle word wrap
    3. tasks: セクションで、Playbook が実行するタスクを定義します。
  3. Playbook の構文を検証します。

    $ ansible-playbook --syntax-check --ask-vault-pass My_Playbook.yml
    Copy to Clipboard Toggle word wrap

    このコマンドは構文の検証のみを行うことに注意してください。設定が有効ではあるが、間違っている場合には、保護されません。

  4. Playbook を実行します。

    $ ansible-playbook --ask-vault-pass My_Playbook.yml
    Copy to Clipboard Toggle word wrap

例5.1 Ansible Playbook の例: Satellite にドメイン new.example.com が存在することを確認する

redhat.satellite.domain モジュールは、ドメインを作成、更新、および削除できます。このサンプル Playbook では、redhat.satellite.domain を使用して、名前が new.example.com のドメインが存在し、Satellite によって管理されていることを確認します。追加の例は、「Satellite Ansible Collection のモジュールに基づく Playbook の例」 を参照してください。

- name: Domain management
  hosts: localhost
  vars_files:
    - My_Vault.yml
  module_defaults:
    group/redhat.satellite.satellite:
      username: "{{ My_Username }}"
      password: "{{ My_Password }}"
      server_url: "{{ My_Server_URL }}"
  tasks:
    - name: Ensure domain new.example.com exists
      redhat.satellite.domain:
        name: new.example.com
Copy to Clipboard Toggle word wrap

サンプル Playbook で指定されている設定は次のとおりです。

vars_files
My_UsernameMy_Password、および My_Server_URL 変数を保存する vault ファイルの名前です。
module_defaults
vault ファイルの変数を usernamepassword、および server_url モジュールパラメーターにマッピングするモジュールデフォルトのグループ。
name
Satellite 内に存在する必要があるドメインの名前。

詳細は、ansible-doc redhat.satellite.domain の Ansible モジュールのドキュメントを参照してください。

関連情報

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat