ページの先頭行へ戻る
Enterprise Postgres 15 オペレーターユーザーズガイド

5.1 FEPクラスタへの接続方法

OpenShiftシステムの同一プロジェクト内から接続する場合

FEPClusterおよびFEPPgpool2に同一プロジェクト内から接続するにはサービスリソースを利用します。

サービスリソースはコンテナと通信するための単一のエンドポイントを提供します。

サービスリソースは以下の命名規則で作成されます。

FEPClusterサービス
  • <FEPCluster名>-primary-svc

  • <FEPCluster名>-replica-svc

  • <FEPCluster名>-headless-svc

FEPPGPool2サービス
  • <FEPPgpool2名>-feppgpool2-svc


FEPClusterコンテナおよびFEPpgpool2コンテナのサービスリソースを確認する例

$ oc get all

リソースタイプがサービスである場所を確認します(「svc /」で始まります)。

oc get svcコマンドでも確認できます。以下はその例です。

$ oc get svc
NAME                            TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)                         AGE
<FEPCluster名>-headless-svc     ClusterIP   None              <none>        27500/TCP,25001/TCP             24h
<FEPCluster名>-primary-svc      ClusterIP   xxx.xxx.xxx.xxx   <none>        27500/TCP,25001/TCP             24h
<FEPCluster名>-replica-svc      ClusterIP   yyy.yyy.yyy.yyy   <none>        27500/TCP,25001/TCP             24h
<FEPPgpool2名>-feppgpool2-svc   NodePort    zzz.zzz.zzz.zzz   <none>        9999:31707/TCP,9998:31906/TCP   24h

FEPpgpool2コンテナにアクセスする例

$ psql -h <FEPPgpool2名>-feppgpool2-svc  -p 9999 -c "select version();"

OpenShiftシステムの外部から接続する場合

ClusterIPを使用してサービスを自動的に作成し、デプロイされたコンテナに接続します。 OpenShiftシステムの内部ネットワークからFEPまたはFEPpgpool2サービスに接続できます。 OpenShiftシステムの外部からアクセスするには、OpenShiftノードのアドレスを知っている必要があります。

例えば、OpenShiftシステムの外部で実行されているが内部ネットワークの一部であるアプリケーションサーバからFEPpgpool2コンテナにアクセスできます。

注意

本手順を実施するためには、OpenShiftまたはKubernetesクラスタのノードに対する“get, list”操作が可能な権限が必要です。

OpenShiftでノードIPをチェックする方法の例

$ oc get nodes
NAME                                      STATUS   ROLES    AGE    VERSION
openshiftcluster1-cmfv8-master-0          Ready    master   370d   v1.19.0+4c3480d
openshiftcluster1-cmfv8-master-1          Ready    master   370d   v1.19.0+4c3480d
openshiftcluster1-cmfv8-master-2          Ready    master   370d   v1.19.0+4c3480d
$ oc describe nodes openshiftcluster1-cmfv8-master-0 | grep IP
 InternalIP: 10.0.2.8

FEPpgpool2コンテナのサービスリソースを確認する例

$ oc get all

リソースタイプがサービスである場所を確認します(「svc /」で始まります)。

oc get svcコマンドでも確認できます。以下はその例です。

$ oc get svc
NAME                           TYPE         CLUSTER-IP        EXTERNAL-IP   PORT(S)                          AGE
<FEPPgpool2名>-feppgpool2-svc  NodePort     172.30.248.12     <none>        9999: 30537/TCP, 9998: 30489/TCP 2m5s

FEPpgpool2コンテナにアクセスする例

$ psql -h 10.0.2.8 -p 30537 -c "show pool_nodes"