4.5.2. 複数のコンテナープロバイダー
このロールには、最新の OpenShift Container Platform クラスターを Red Hat CloudForms デプロイメントに統合するための Playbook に加え、複数のコンテナープラットフォームを任意の Red Hat CloudForms サーバーに コンテナープロバイダーとして追加することを可能にするスクリプトが含まれています。コンテナープラットフォームは、OpenShift Container Platform または OpenShift Origin です。
複数のプロバイダースクリプトを使用する場合、Playbook の実行時に EXTRA_VARS パラメーターを CLI に手動で設定することが必要になります。
4.5.2.1. スクリプトの作成 リンクのコピーリンクがクリップボードにコピーされました!
複数のプロバイダースクリプトを作成するには、以下の手動の設定を実行します。
- /usr/share/ansible/openshift-ansible/roles/openshift_management/files/examples/container_providers.yml のサンプルを、/tmp/cp.yml など別の場所にコピーします。このファイルは後で変更します。
-
Red Hat CloudForms の名前またはパスワードを変更している場合は、コピーしたcontainer_providers.yml ファイルの
management_serverキーにあるhostname、userおよびpasswordの各パラメーターを更新します。 コンテナープロバイダーとして追加する必要のある各 Container Platform クラスターについて、
container_providersキーの下にエントリーを入力します。以下のパラメーターを設定する必要があります。
-
auth_key-cluster-admin権限を持つサービスアカウントのトークンです。 -
hostname- クラスター API をポイントしているホスト名です。各コンテナープロバイダーは固有のホスト名を持っている必要があります。 -
name- Red Hat CloudForms サーバーのコンテナープロバイダーの概要ページに表示されるクラスター名です。この名前は固有でなければなりません。
ヒントauth_keyベアラートークンをクラスターから取得するには、以下を実行します。$ oc serviceaccounts get-token -n management-infra management-admin-
以下のパラメーターは任意で設定することができます。
-
port- Container Platform クラスターが API を8443以外のポートで実行している場合は、このキーを更新します。 -
endpoint- SSL 検証を有効にする (verify_ssl) か、または検証設定をssl-with-validationに変更することができます。現時点では、カスタムの信頼される CA 証明書のサポートは利用できません。
-
4.5.2.1.1. 例 リンクのコピーリンクがクリップボードにコピーされました!
例として以下のシナリオを見てみましょう。
- container_providers.yml ファイルを /tmp/cp.yml にコピーしている。
- 2 つの OpenShift Container Platform クラスターを追加する必要がある。
-
Red Hat CloudForms サーバーが
mgmt.example.comで実行されている。
このシナリオでは、/tmp/cp.yml を以下のようにカスタマイズします。
container_providers:
- connection_configurations:
- authentication: {auth_key: "<token>", authtype: bearer, type: AuthToken}
endpoint: {role: default, security_protocol: ssl-without-validation, verify_ssl: 0}
hostname: "<provider_hostname1>"
name: <display_name1>
port: 8443
type: "ManageIQ::Providers::Openshift::ContainerManager"
- connection_configurations:
- authentication: {auth_key: "<token>", authtype: bearer, type: AuthToken}
endpoint: {role: default, security_protocol: ssl-without-validation, verify_ssl: 0}
hostname: "<provider_hostname2>"
name: <display_name2>
port: 8443
type: "ManageIQ::Providers::Openshift::ContainerManager"
management_server:
hostname: "<hostname>"
user: <user_name>
password: <password>