Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

4.22. サービスカタログオプションのカスタマイズ

サービスカタログ はインストール時にデフォルトで有効にされます。サービスブローカーを有効にすると、サービスブローカーをカタログに登録できます。サービスカタログが有効にされると、OpenShift Ansible Broker およびテンプレートサービスブローカーの両方もインストールされます。詳細は、OpenShift Ansible Broker の設定 および テンプレートサービスブローカーの設定 を参照してください。サービスカタログを無効にする場合は、OpenShift Ansible Broker およびテンプレートサービスブローカーはインストールされません。

サービスカタログの自動デプロイメントを無効にするには、以下のクラスター変数をインベントリーファイルに設定します。

openshift_enable_service_catalog=false

独自のレジストリーを使用する場合、以下を追加する必要があります。

  • openshift_service_catalog_image_prefix: サービスカタログイメージをプルする際に、特定の接頭辞 (例: registry) の使用を強制的に実行します。(イメージ名までの) 詳細なレジストリー名を指定する必要があります。
  • openshift_service_catalog_image_version: サービスカタログイメージをプルする際に、特定のイメージバージョンの使用を強制的に実行します。

以下は例になります。

openshift_service_catalog_image="docker-registry.default.example.com/openshift/ose-service-catalog:${version}"
openshift_service_catalog_image_prefix="docker-registry-default.example.com/openshift/ose-"
openshift_service_catalog_image_version="v3.9.30"

4.22.1. OpenShift Ansible Broker の設定

OpenShift Ansible Broker (OAB) は、インストール時にデフォルトで有効になります。

OAB をインストールしない場合は、インベントリーファイルで ansible_service_broker_install パラメーター値を false に設定します。

ansible_service_broker_install=false

表4.10 サービスブローカーのカスタマイズ変数

変数目的

openshift_service_catalog_image_prefix

サービスカタログコンポートイメージの接頭辞を指定します。

4.22.1.1. OpenShift Ansible Broker 用の永続ストレージの設定

OAB は、残りの OpenShift Container Platform クラスターが使用する etcd とは別に独自の etcd インスタンスをデプロイします。OAB の etcd インスタンスが機能するためには、永続ボリューム (PV) を使用する個別のストレージが必要です。使用可能な PV がない場合、etcd は PV の条件が満たされるまで待機します。OAB アプリケーションは、etcd インスタンスが使用可能になるまで CrashLoop 状態になります。

一部の Ansible Playbook Bundle (APB) でも、デプロイに専用の PV が必要になります。たとえば、APB の各データベースには 2 つのプランがあります。 開発プランは一時的なストレージを使用し、PV を必要としませんが、実稼働プランは永続的であり、PV を必要とします。

APBPV が必要 ?

postgresql-apb

必要 (ただし実稼働プランの場合のみ必要)

mysql-apb

必要 (ただし実稼働プランの場合のみ必要)

mariadb-apb

必要 (ただし実稼働プランの場合のみ必要)

mediawiki-apb

Yes

OAB の永続ストレージを設定するには、以下の手順を実行します。

注記

以下の例では、NFS ホストを使用して必要な PV を提供しています。 ただし、他の永続ストレージプロバイダー を代わりに使用することもできます。

  1. インベントリーファイルの [OSEv3:children] セクションに nfs を追加して、 [nfs] グループを有効にします。

    [OSEv3:children]
    masters
    nodes
    nfs
  2. [nfs] グループセクションを追加し、NFS ホストになるシステムのホスト名を追加します。

    [nfs]
    master1.example.com
  3. [OSEv3:vars] セクションに以下を追加します。

    # nfs_directory must conform to DNS-1123 subdomain must consist of lower case
    # alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character
    
    openshift_hosted_etcd_storage_kind=nfs
    openshift_hosted_etcd_storage_nfs_options="*(rw,root_squash,sync,no_wdelay)"
    openshift_hosted_etcd_storage_nfs_directory=/opt/osev3-etcd 1
    openshift_hosted_etcd_storage_volume_name=etcd-vol2 2
    openshift_hosted_etcd_storage_access_modes=["ReadWriteOnce"]
    openshift_hosted_etcd_storage_volume_size=1G
    openshift_hosted_etcd_storage_labels={'storage': 'etcd'}
    1 2
    NFS ボリュームが [nfs] グループ内のホストの <nfs_directory>/<volume_name> パスに作成されます。たとえば、これらのオプションを使用した場合、ボリュームパスは /opt/osev3-etcd/etcd-vol2 になります。

    これらの設定は、クラスターのインストール時に OAB の etcd インスタンスに割り当てられる永続ボリュームを作成します。

4.22.1.2. ローカルの APB 開発用の OpenShift Ansible Broker の設定

OpenShift Container レジストリーと OAB を組み合わせて APB 開発 を行うには、OAB がアクセスできるイメージのホワイトリストを定義する必要があります。ホワイトリストが定義されていない場合、ブローカーは APB を無視し、使用可能な APB がユーザーに表示されません。

デフォルトでは、ホワイトリストは空になっており、クラスター管理者がブローカーを設定するまでユーザーが APB イメージをブローカーに追加できないようになっています。-apb で終了するすべてのイメージをホワイトリストに入れるには、以下の手順を実行します。

  1. インベントリーファイルの [OSEv3:vars] セクションに以下を追加します。

    ansible_service_broker_local_registry_whitelist=['.*-apb$']