3.5. OpenShift Ansible Broker のインストール
OpenShift Ansible Broker をインストールし、これが提供するサービスバンドルへのアクセスを取得します。
OpenShift Ansible Broker は OpenShift Container Platform 4 では非推奨になっています。同等または強化された機能は Operator Framework および Operator Lifecycle Manager (OLM) で提供されます。
前提条件
3.5.1. OpenShift Ansible Broker について
OpenShift Ansible Broker は、Ansible playbook bundles (APB) で定義されるアプリケーションを管理する Open Service Broker (OSB) API の実装です。APB は、OpenShift Container Platform のコンテナーアプリケーションを定義し、配信する方法を提供し、Ansible ランタイムと共にコンテナーイメージに組み込まれた Ansible Playbook のバンドルで構成されています。APB は Ansible を活用し、複雑なデプロイメントを自動化する標準メカニズムを構築します。
OpenShift Ansible Brokerは、以下の基本的なワークフローに従います。
- ユーザーは、OpenShift Container Platform Web コンソールを使用してサービスカタログから利用可能なアプリケーションの一覧を要求します。
- サービスカタログは、OpenShift Ansible Broker から利用可能なアプリケーションの一覧を要求します。
- OpenShift Ansible Broker は定義されたコンテナーイメージレジストリーと通信し、利用可能な APB の情報を得ます。
- ユーザーは特定の APB をプロビジョニングする要求を実行します。
- OpenShift Ansible Broker は、APB でプロビジョニングメソッドを呼び出して、ユーザーのプロビジョニング要求に対応します。
OpenShift Ansible Broker は、OpenShift Container Platform 4 ではデフォルトでインストールされません。
3.5.1.1. Ansible Playbook Bundle
Ansible Playbook Bundle (APB) は、Ansible ロールおよび Playbook の既存の投資を活用できるようにする軽量アプリケーション定義です。
APB は、名前の付いた Playbook が含まれる単純なディレクトリーを使用し、プロビジョニングやバインドなどの OSB API アクションを実行します。apb.yml
ファイルで定義するメタデータには、デプロイメント時に使用する必須/任意のパラメーターの一覧が含まれています。
3.5.2. OpenShift Ansible Service Broker Operator のインストール
前提条件
- サービスカタログがインストールされていること。
手順
以下の手順では、Web コンソールを使用して OpenShift Ansible Service Broker Operator をインストールします。
namespace を作成します。
-
Web コンソールで Administration
Namespaces に移動し、Create Namespace をクリックします。 openshift-ansible-service-broker
を Name フィールドに、openshift.io/cluster-monitoring=true
を Labels フィールドに入力し、Create をクリックします。注記namespace は
openshift-
で開始する必要があります。
-
Web コンソールで Administration
クラスターのロールバインディングを作成します。
-
Administration
Role Bindings に移動し、Create Binding をクリックします。 - Binding Type については、Cluster-wide Role Binding (ClusterRoleBinding) を選択します。
-
Role Binding については、
ansible-service-broker
を Name フィールドに入力します。 - Role については、admin を選択します。
-
Subject については、Service Account オプションを選択し、
openshift-ansible-service-broker
namespace を選択してopenshift-ansible-service-broker-operator
を Subject Name フィールドに入力します。 - Create をクリックします。
-
Administration
Red Hat Container Catalog に接続するためにシークレットを作成します。
-
Workloads
Secrets に移動します。 openshift-ansible-service-broker
プロジェクトが選択されていることを確認します。 -
Create
Key/Value Secret をクリックします。 -
asb-registry-auth
を シークレット名 として入力します。 -
username
の Key および Red Hat Container Catalog ユーザー名の Value を追加します。 -
Add Key/Value をクリックし、
password
の Key および Red Hat Container Catalog パスワードの Value を追加します。 - Create をクリックします。
-
Workloads
-
Operators
OperatorHub ページに移動します。 openshift-ansible-service-broker
プロジェクトが選択されていることを確認します。 - OpenShift Ansible Service Broker Operator を選択します。
- Operator についての情報を確認してから、Install をクリックします。
- デフォルトの選択を確認し、Subscribe をクリックします。
次に、OpenShift Ansible Broker を起動し、これが提供するサービスバンドルへのアクセスを取得します。
3.5.3. OpenShift Ansible Broker の起動
OpenShift Ansible Broker Operator のインストール後に、以下の手順で OpenShift Ansible Broker を起動します。
前提条件
- サービスカタログがインストールされていること。
- OpenShift Ansible Service Broker Operator がインストールされていること。
手順
-
Web コンソールで Operators
Installed Operators に移動し、 openshift-ansible-service-broker
プロジェクトを選択します。 - OpenShift Ansible Service Broker Operator を選択します。
- Provided APIs で、Automation Broker について Create New をクリックします。
以下を、提供されているデフォルトの YAML の
spec
フィールドに追加します。registry: - name: rhcc type: rhcc url: https://registry.redhat.io auth_type: secret auth_name: asb-registry-auth
これは、OpenShift Ansible Service Broker Operator のインストール時に作成されたシークレットを参照します。これにより、Red Hat Container Catalog に接続できます。
- 追加の OpenShift Ansible Broker 設定オプションを設定し、Create をクリックします。
OpenShift Ansible Broker が起動したことを確認します。
OpenShift Ansible Broker の起動後に、Catalog
Developer Catalog に移動し、Service Class チェックボックスを選択して利用可能なサービスバンドルを表示できます。OpenShift Ansible Broker が起動し、サービスバンドルが利用可能になるまで数分の時間がかかる場合があります。 これらのサービスクラスが表示されない場合は、以下の項目のステータスを確認できます。
OpenShift Ansible Broker Pod のステータス
-
openshift-ansible-service-broker プロジェクトの Workloads
Pods ページから、 asb-
で起動する Pod のステータスが Running であり、Ready の準備状態であることを確認します。
-
openshift-ansible-service-broker プロジェクトの Workloads
クラスターサービスブローカーのステータス
-
Catalog
Broker Management Service Brokers ページから、ansible-service-broker サービスブローカーのステータスが Ready であることを確認します。
-
Catalog
サービスカタログコントローラーマネージャー Pod のログ
-
openshift-service-catalog-controller-manager プロジェクトの Workloads
Pods ページから、それぞれの Pod のログを確認し、 Successfully fetched catalog entries from broker
のメッセージと共にログエントリーが表示されていることを確認します。
-
openshift-service-catalog-controller-manager プロジェクトの Workloads
3.5.3.1. OpenShift Ansible Broker 設定オプション
OpenShift Ansible Broker の以下のオプションを設定できます。
YAML キー | 説明 | デフォルト値 |
---|---|---|
| Broker インスタンスを特定するために使用される名前。 |
|
| Broker が置かれている namespace。 |
|
| Broker に使用されている完全修飾イメージ。 |
|
| Broker イメージ自体に使用されるプルポリシー。 |
|
| Broker のデプロイメントに使用されるノードセレクター文字列。 |
|
| Broker レジストリー設定の yaml 一覧として表現される。これにより、ユーザーは Broker が検出し、APB の取得に使用するイメージレジストリーを設定できます。 | デフォルトレジストリー配列 を参照してください。 |
| Broker のログに使用されるログレベル。 |
|
| APB Pod に使用されるプルポリシー。 |
|
| APB を実行するために使用されるサービスアカウントに付与されるロール。 |
|
| APB の完了後に APB を実行するために作成された一時 namespace が削除されたかどうか (結果の如何は問わない)。 |
|
| 結果がエラーの場合のみ、APB の完了後に APB を実行するために作成された一時 namespace が削除されたかどうか。 |
|
| Broker が起動時にブートストラップルーチンを実行する必要があるかどうか。 |
|
| APB のインベントリーを更新する Broker ブートストラップ間の間隔。 |
|
| Experimental: バインド操作時に APB を実行する Broker を切り替えます。 |
|
|
APB の実行中に、Broker がユーザーのパーミッションをエスカレートするかどうか。これは、Broker が起点となるユーザー承認を実行してユーザーが APB サンドボックスに付与されたパーミッションを持つようにするため、通常は |
|
| Broker が受信する低レベル HTTP 要求を出力するかどうか。 |
|
registries
のデフォルト配列
- type: rhcc name: rhcc url: https://registry.redhat.io white_list: - ".*-apb$" auth_type: secret auth_name: asb-registry-auth