OpenShiftシステムの同一プロジェクト内から接続する場合
FEPClusterおよびFEPPgpool2に同一プロジェクト内から接続するにはサービスリソースを利用します。
サービスリソースはコンテナと通信するための単一のエンドポイントを提供します。
サービスリソースは以下の命名規則で作成されます。
<FEPCluster名>-primary-svc
<FEPCluster名>-replica-svc
<FEPCluster名>-headless-svc
<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"