第1章 Automation Hub の Red Hat 認定済み、検証済み、および Ansible Galaxy コンテンツ
Ansible Certified Content Collections は、Red Hat Ansible Automation Platform のサブスクリプションに含まれています。Ansible Automation Hub を使用すると、あらゆる形式の Ansible コンテンツにアクセスし、独自のコレクションセットをキュレートできます。
Red Hat Ansible コンテンツには、次の 2 種類のコンテンツが含まれます。
- Ansible Certified Content Collections
- Ansible 検証済みコンテンツコレクション
Ansible Certified Content Collections または Ansible 検証済みコンテンツコレクションの両方を使用して、独自の自動化ライブラリーを構築できます。Ansible Certified Content Collections と Ansible 検証済みコンテンツコレクションの違いの詳細は、ナレッジベースの記事 Ansible Certified Content Collections and Ansible validated content、またはこのガイドの Ansible 検証済みコンテンツ を参照してください。
これらのコレクションは、パッケージをダウンロードすることで手動で更新できます。
Ansible Automation Hub を使用すると、要件ファイルを作成し、適切な Red Hat Ansible Certified Content Collections をユーザーに配布できます。
要件ファイルを使用してコンテンツをインストールするには、次の手順を行う必要があります。
1.1. コンテンツを同期するための Ansible Automation Hub リモートリポジトリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
リモート設定を使用して、console.redhat.com
でホストされている Ansible Certified Content Collections または Ansible Galaxy のコレクションと同期するように Private Automation Hub を設定します。
Ansible Galaxy と Ansible Automation Hub の相違点
Ansible Galaxy に公開されたコレクションは、Ansible コミュニティーによって公開された最新のコンテンツです。これらのコレクションに対する共同でのサポート対応は行われていません。Ansible Galaxy は、コンテンツにアクセスする Ansible コミュニティーを対象とした、推奨されるフロントエンドのディレクトリーです。
Ansible Automation Hub に公開されたコレクションは、Red Hat と特定パートナーの共同のお客様を対象としたものです。Ansible Automation Hub のコレクションにアクセスしてダウンロードするには、Ansible サブスクリプションが必要です。認定コレクションは、Red Hat とパートナーが戦略的な関係のもと、お客様に共同でサポートを提供します。認定コレクションの中には、追加のテストと検証を受けたものもあります。
Ansible Galaxy で名前空間をリクエストする方法
Ansible Galaxy GitHub のイシューを通じて名前空間をリクエストするには、次の手順に従います。
- ansiblepartners@redhat.com にメールを送信します。
- Ansible Galaxy へのサインアップに使用した GitHub ユーザー名を記載します。
システムが検証できるように、少なくとも 1 回はログインする必要があります。
ユーザーが名前空間の管理者として追加されると、セルフサービスのプロセスを使用してさらに管理者を追加できます。
Ansible Galaxy 名前空間の命名制限
コレクションの名前空間は、Python モジュール名の規則に従う必要があります。つまり、コレクションにはすべて小文字の短い名前を付ける必要があります。読みやすさが向上する場合は、コレクション名にアンダースコアを使用できます。
1.1.1. Automation Hub でのトークン管理 リンクのコピーリンクがクリップボードにコピーされました!
コレクションをアップロードまたはダウンロードして Automation Hub と対話するには、API トークンを作成する必要があります。Automation Hub API トークンは、ansible-galaxy
クライアントを Red Hat Automation Hub サーバーに対して認証します。
Automation Hub は、Basic 認証またはサービスアカウントによる認証をサポートしていません。トークン管理を使用して認証する必要があります。
API トークンを作成する方法は、使用している Automation Hub のタイプによって異なります。
- Automation Hub はオフライントークン管理を使用します。Automation Hub でのオフライントークンの作成 を参照してください。
- Private Automation Hub は API トークン管理を使用します。Private Automation Hub での API トークンの作成 を参照してください。
- Keycloak を使用して Private Automation Hub を認証する場合は、Automation Hub でのオフライントークンの作成 の手順に従ってください。
1.1.2. Automation Hub でのオフライントークンの作成 リンクのコピーリンクがクリップボードにコピーされました!
Automation Hub では、トークン管理 を使用してオフライントークンを作成できます。オフライントークンはコンテンツを保護するために使用されるシークレットトークンです。そのため、必ずセキュアな場所に保管してください。
手順
- Red Hat Hybrid Cloud Console で Ansible Automation Platform に移動します。
-
ナビゲーションパネルから、
を選択します。 - Offline token で、 をクリックします。
- アイコンをクリックしてオフライントークンをコピーします。
- トークンをファイルに貼り付けて、セキュアな場所に保存します。
関連情報
オフライントークンは、非アクティブな状態が 30 日間続くと期限切れになります。新しいオフライントークンの取得の詳細は、オフライントークンをアクティブな状態に維持する を参照してください。
次のステップ
これで、Automation Hub をデフォルトのコレクションサーバーとして設定したり、ansible-galaxy
コマンドラインツールを使用してコレクションをアップロードしたりする場合に、オフライントークンを使用できるようになりました。
1.1.3. Private Automation Hub での API トークンの作成 リンクのコピーリンクがクリップボードにコピーされました!
Private Automation Hub では、API トークン管理を使用して API トークンを作成できます。API トークンはコンテンツを保護するために使用されるシークレットトークンです。そのため、必ずセキュアな場所に保管してください。
API トークンには有効期限がありません。
前提条件
- Red Hat Ansible Automation Platform の有効なサブスクリプション認証情報。
手順
- Private Automation Hub にログインします。
-
ナビゲーションパネルから、
を選択します。 - をクリックします。
- API トークンをコピーするには、 アイコンをクリックします。
- API トークンをファイルに貼り付けて、セキュアな場所に保存します。
次のステップ
API トークンは、Automation Hub をデフォルトのコレクションサーバーとして設定するか、ansible-galaxy
コマンドラインツールを使用してコレクションをアップロードできるようになりました。
1.1.4. オフライントークンをアクティブな状態に維持する リンクのコピーリンクがクリップボードにコピーされました!
オフライントークンは、非アクティブな状態が 30 日間続くと期限切れになります。オフライントークンをアクティブにしておくと、期限切れを防ぐことができます。
オフライントークンをアクティブにしておくと、アプリケーションがユーザーに代わってアクションを実行する場合に便利です。たとえば、ユーザーがオフラインのときにアプリケーションが定期的なデータバックアップを実行できます。
オフライントークンの有効期限が切れた場合は、新しいトークンを取得 する必要があります。
手順
次のコマンドを実行して、トークンの有効期限が切れないようにします。
curl https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token -d grant_type=refresh_token -d client_id="cloud-services" -d refresh_token="{{ user_token }}" --fail --silent --show-error --output /dev/null
curl https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token -d grant_type=refresh_token -d client_id="cloud-services" -d refresh_token="{{ user_token }}" --fail --silent --show-error --output /dev/null
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.5. Ansible Certified Content Collections を同期するための rh-certified リモートリポジトリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
rh-certified リモートリポジトリーを編集して、console.redhat.com でホストされている Automation Hub から Private Automation Hub にコレクションを同期できます。デフォルトでは、Private Automation Hub rh-certified
リポジトリーには、Ansible Certified Content Collections のグループ全体の URL が含まれています。
組織で指定されたコレクションのみを使用するには、Private Automation Hub 管理者は、手動で作成した要件ファイルを rh-certified
リモートからアップロードできます。
要件ファイルに、A
、B
、および C
コレクションがあり、使用する console.redhat.com に新しいコレクション X
を追加する場合は、Private Automation Hub の要件ファイルに X
を追加して同期する必要があります。
前提条件
- 有効な Ansible リポジトリーコンテンツの変更 権限を持っている。権限の詳細は、アクセス管理と認証 を参照してください。
- console.redhat.com で Automation Hub がホストするサービスから同期 URL および API トークンを取得している。
- ポート 443 へのアクセスを設定している。これは、認定コレクションを同期するために必要です。詳細は、「インストール計画」の ネットワークポートおよびプロトコル の章にある Automation Hub の表を参照してください。
手順
- Ansible Automation Platform にログインします。
-
ナビゲーションパネルから、
を選択します。 - rh-certified リモートリポジトリーで、 をクリックします。
- URL フィールドに、Sync URL を貼り付けます。
- Token フィールドに、console.redhat.com から取得したトークンを貼り付けます。
- をクリックします。
結果
これで、console.redhat.com からコレクションを Private Automation Hub に同期できるようになります。
次のステップ
同期の手順は、Automation Hub での Ansible Content Collections の同期 を参照してください。
1.1.6. Ansible Galaxy コレクションを同期するための community リモートリポジトリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
community リモートリポジトリーを編集して、Ansible Galaxy から選択したコレクションを Private Automation Hub に同期できます。デフォルトでは、Private Automation Hub コミュニティーリポジトリーは galaxy.ansible.com/api/
に送信されます。
前提条件
- Modify Ansible repo content 権限がある。権限の詳細は、アクセス管理と認証 を参照してください。
次の例のように、Ansible Galaxy から同期するコレクションを識別する
requirements.yml
ファイルがある。requirements.yml の例
collections: # Install a collection from Ansible Galaxy. - name: community.aws version: 5.2.0 source: https://galaxy.ansible.com
collections: # Install a collection from Ansible Galaxy. - name: community.aws version: 5.2.0 source: https://galaxy.ansible.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
- Ansible Automation Platform にログインします。
-
ナビゲーションパネルから、
を選択します。 - Community リモートの Details タブで、 をクリックします。
-
YAML requirements フィールドに、
requirements.yml
ファイルの内容を貼り付けます。 - をクリックします。
結果
requirements.yml
ファイルで識別されたコレクションを、Ansible Galaxy から Private Automation Hub に同期できるようになりました。
次のステップ
同期の手順は、Automation Hub での Ansible Content Collections の同期 を参照してください。
1.1.7. プロキシー設定 リンクのコピーリンクがクリップボードにコピーされました!
Private Automation Hub がネットワークプロキシーの背後にある場合は、リモートでプロキシーを設定して、ローカルネットワーク外にあるコンテンツを同期できます。
前提条件
- 有効な Ansible リポジトリーコンテンツの変更 権限を持っている。権限の詳細は、アクセス管理と認証 を参照してください。
- ローカルネットワーク管理者からのプロキシー URL および認証情報を持っている。
手順
- Ansible Automation Platform にログインします。
-
ナビゲーションパネルから、
を選択します。 - rh-certified リモートまたは Community リモートで、 アイコン ⋮ をクリックし、Edit remote を選択します。
- Show advanced options ドロップダウンメニューを展開します。
- プロキシー URL、プロキシーユーザー名、およびプロキシーパスワードを適切なフィールドに入力します。
- をクリックします。
1.1.8. 要件ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
要件ファイルを使用して、Automation Hub にコレクションを追加します。要件ファイルは YAML 形式で、Automation Hub にインストールするコレクションをリストしたものです。
標準の requirements.yml
ファイルには、次のパラメーターを含めます。
-
name
:<namespace>.<collection_name>
という形式のコレクション名 -
version
: コレクションのバージョン番号
手順
要件ファイルを作成します。
YAML 形式の要件ファイル内に、コレクション情報を次のように指定します。
collections: name: namespace.collection_name version: 1.0.0
collections: name: namespace.collection_name version: 1.0.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
コレクションのバージョン番号を必ず指定してください。そうしないと、すべてのコレクションのバージョンが同期されます。すべてのバージョンを同期すると、予想よりも多くの容量が必要になる場合があります。
次のステップ
要件ファイル内のコレクションを同期するには、Ansible コンテンツコレクションの同期 の手順を実行してください。