6.2. OpenShift での PostgreSQL データベースストレージを使用した Service Registry の設定
本セクションでは、PostgreSQL データベース Operator を使用して、OpenShift 上の Service Registry の Java Persistence API ベースのストレージを設定する方法を説明します。既存のデータベースに Service Registry をインストールするか、環境に応じて新規データベースを作成することができます。本セクションでは、Dev4Ddevs.com による PostgreSQL Operator を使用する簡単な例を紹介します。
前提条件
- クラスター管理者として OpenShift クラスターにアクセスできる。
- Service Registry がすでにインストールされている。4章OpenShift での Service Registry のインストール を参照してください。
- OpenShift に PostgreSQL Operator がすでにインストールされている。(例: 「OpenShift OperatorHub からの PostgreSQL データベースのインストール」)。
手順
- OpenShift Container Platform Web コンソールで、クラスター管理者権限を持つアカウントを使用してログインします。
-
Service Registry および PostgreSQL Operator がインストールされている OpenShift プロジェクトに切り替えます。たとえば、Project ドロップダウンから、
my-project
を選択します。 - Service Registry ストレージの PostgreSQL データベースを作成します。たとえば、Installed Operators > PostgreSQL Operator by Dev4Ddevs.com > Create database > YAML とクリックします。
以下のようにデータベース設定を編集します。
-
name
: 値をregistry
に変更します -
image
: 値をcentos/postgresql-10-centos7
に変更します。
-
実際の環境に応じて、必要に応じてその他のデータベース設定を編集します。以下に例を示します。
apiVersion: postgresql.dev4devs.com/v1alpha1 kind: Database metadata: name: registry namespace: my-project spec: databaseCpu: 30m databaseCpuLimit: 60m databaseMemoryLimit: 512Mi databaseMemoryRequest: 128Mi databaseName: example databaseNameKeyEnvVar: POSTGRESQL_DATABASE databasePassword: postgres databasePasswordKeyEnvVar: POSTGRESQL_PASSWORD databaseStorageRequest: 1Gi databaseUser: postgres databaseUserKeyEnvVar: POSTGRESQL_USER image: centos/postgresql-10-centos7 size: 1
- Create Database を クリックし、データベースが作成されるまで待ちます。
- Installed Operators > Red Hat Integration - Service Registry > ApicurioRegistry > Create ApicurioRegistry とクリックします。
以下のカスタムリソース定義に貼り付け、データベース
url
およびクレデンシャルの値を編集して環境と一致するようにします。apiVersion: apicur.io/v1alpha1 kind: ApicurioRegistry metadata: name: example-apicurioregistry spec: configuration: persistence: "jpa" dataSource: url: "jdbc:postgresql://SERVICE_NAME.NAMESPACE.svc:5432/" # e.g. url: "jdbc:postgresql://acid-minimal-cluster.my-project.svc:5432/" userName: "postgres" password: "PASSWORD" # ^ Optional
- Create をクリックし、OpenShift で Service Registry ルートが作成されるまで待機します。
Networking > Route をクリックして、Service Registry Web コンソールの新規ルートにアクセスします。以下に例を示します。
http://example-apicurioregistry.my-project.my-domain-name.com/