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.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 を必要とします。
APB | PV が必要 ? |
---|---|
postgresql-apb | 必要 (ただし実稼働プランの場合のみ必要) |
mysql-apb | 必要 (ただし実稼働プランの場合のみ必要) |
mariadb-apb | 必要 (ただし実稼働プランの場合のみ必要) |
mediawiki-apb | Yes |
OAB の永続ストレージを設定するには、以下の手順を実行します。
以下の例では、NFS ホストを使用して必要な PV を提供しています。 ただし、他の永続ストレージプロバイダー を代わりに使用することもできます。
インベントリーファイルの
[OSEv3:children]
セクションにnfs
を追加して、[nfs]
グループを有効にします。[OSEv3:children] masters nodes nfs
[nfs]
グループセクションを追加し、NFS ホストになるシステムのホスト名を追加します。[nfs] master1.example.com
[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'}
これらの設定は、クラスターのインストール時に OAB の etcd インスタンスに割り当てられる永続ボリュームを作成します。
4.22.1.2. ローカルの APB 開発用の OpenShift Ansible Broker の設定
OpenShift Container レジストリーと OAB を組み合わせて APB 開発 を行うには、OAB がアクセスできるイメージのホワイトリストを定義する必要があります。ホワイトリストが定義されていない場合、ブローカーは APB を無視し、使用可能な APB がユーザーに表示されません。
デフォルトでは、ホワイトリストは空になっており、クラスター管理者がブローカーを設定するまでユーザーが APB イメージをブローカーに追加できないようになっています。-apb
で終了するすべてのイメージをホワイトリストに入れるには、以下の手順を実行します。
インベントリーファイルの
[OSEv3:vars]
セクションに以下を追加します。ansible_service_broker_local_registry_whitelist=['.*-apb$']