2.7. 外部データベースを使用した Fuse Online のインストール
外部データベースを使用して接続と統合の定義を永続化する Fuse Online 環境をインストールする場合、以下を実行します。
- OpenShift クラスターが検出できるホスト名を使用して postgreSQL データベースを作成します。
-
Fuse Online をインストールする前に、外部データベース用に
syndesis-global-config
という名前の OpenShift シークレットを作成します。 - Fuse Online をインストールします。
- Fuse Online をデプロイする前に、カスタムリソースを編集して、外部データベースへの接続を設定します。
前提条件
-
OCP 3.11 の場合のみ、コネクションおよびインテグレーションの定義を永続化するために外部データベースを使用ことを指定するために
default-cr.yml
ファイルが編集されている必要があります。 - Fuse Online がインストールされていない必要があります。
-
oc
クライアントツールがインストール済みであり、Fuse Online をインストールする OCP クラスターに接続されている必要があります。 - クラスター管理者権限を持つユーザーは、該当ユーザーがクラスターでアクセス権限を持つプロジェクトに Fuse Online をインストールするための権限を付与済みである必要があります。
手順
Fuse Online をインストールする権限を持つアカウントで OpenShift にログインします。以下に例を示します。
oc login -u developer -p developer
Fuse Online をインストールする Open Shift クラスターで使用可能で、以下の設定オプションの値を定義する postgreSQL データベースを作成します。
- 接続ユーザー名
- データベース名
データベースのパスワード
次の例では、OpenShift がデフォルトで提供する PostgreSQL テンプレートの 1 つを使用しています。
注記: 開発またはテスト目的には PostgreSQL 一時 (
postgresql-ephemeral
) テンプレートのみを使用します。実稼働環境の場合は、PostgreSQL (postgresql
) テンプレートを使用します。oc new-app postgresql-ephemeral -p POSTGRESQL_USER=syndesis -p POSTGRESQL_PASSWORD=exdb-pwd -p POSTGRESQL_DATABASE=syndesisdb
このコマンドは、URL など、Fuse Online を設定するときに必要なデータベースに関する情報を返します。
データベースの作成については、PostgreSQL topic in the OpenShift documentation を参照してください。
以下の内容を含むリソースファイル (例:
my-fuse-online-secret-cr.yml
) を作成して、保存します。apiVersion: v1 kind: Secret metadata: name: syndesis-global-config namespace: my-fuse-online-project type: Opaque stringData: POSTGRESQL_PASSWORD: exdb-pw
my-fuse-online-project
を、外部データベーであるスを指定する Fuse Online 環境をインストールする予定である OpenShift プロジェクトの名前に置き換えます。exdb-pw
を手順 2 のパスワードに置き換えます。Fuse Online は、外部データベースにアクセスするためのパスワードとして使用します。stringData
は、パスワードの値を base64 でエンコードされた値 (変換を行わないように) に変換することに注意してください。OpenShift シークレットについての詳細は シークレット を参照してください。
以下のように、シークレットをクラスターに追加します。
oc apply -f my-fuse-online-secret-cr.yml
OpenShift クラスターでは、外部データベースを指定するカスタムリソースとインストールされた Fuse Online 環境で
syndesis-global-config
シークレットを利用できます。シークレット (ステップ 4) の
YAML
ファイルで指定したmy-fuse-online-project
プロジェクトに Fuse Online をインストールします。- OCP 3.11 の場合は、Fuse Online をインストールする前にデフォルトのカスタムリソースファイルを編集 の手順にしたがいます。
OCP 4.6 以降の場合は、Installing the Fuse Online Operator from the OperatorHub の手順に従います。Adding a Fuse Online instance to an OpenShift 4.x project において、Fuse Online をデプロイする前にカスタムリソースを編集して、外部データベースの使用を指定します。以下に例を示します。
apiVersion: syndesis.io/v1alpha1 kind: Syndesis metadata: name: app spec: components: database: externalDbURL: "postgresql://syndesis-external-db:5432" user: db-user-name name: db-name
-
syndesis-external-db:5432
を外部 PostgreSQL データベースのホスト名およびポートに置き換えます。 -
db-user-name
をコネクションユーザー名に置き換えます。 -
db-name
をデータベースの名前に置き換えます。
結果
Fuse Online のインストールプロセスでは、カスタムリソースの設定を使用して、インストールされた Fuse Online 環境の設定を決定します。
正しくインストールおよびデプロイされると、Fuse Online は syndesis-db
以外の必要な Pod をすべて稼働します。syndesis-db
の代わりに、syndesis-server
は外部データベースのサービス名を使用してデータベースに接続します。外部データベースの設定が正しくない場合、syndesis-server
は初期化に失敗し、Fuse Online デプロイメントはエラーを出して終了します。