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} 1 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} 2 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>