IBM Cloud アプリケーションの接続
IBM Cloud で実行されているアプリケーションは、IBM Cloud® Databases for PostgreSQL のデプロイメントにバインドすることができます。
Kubernetes サービス・アプリケーションの接続
Cloud Databases デプロイメントを Kubernetes Service アプリケーションに接続するには、2 つのステップを実行します。 まず、デプロイメントをクラスタとその接続文字列にバインドする必要があり、その接続文字列はシークレットに保存される。 2 番目のステップでは、その接続ストリングを使用するようにアプリケーションを構成します。
Kubernetes Service の接続のチュートリアルにあるサンプル・アプリは、 Node.js を使用するサンプル・アプリケーションを提供し、このサンプル・アプリケーションを Cloud Databases デプロイメントにバインドする方法を示しています。
Kubernetes Service アプリケーションをデプロイメントに接続する前に、デプロイメントとクラスターが両方とも同じリージョンとリソース・グループ内にあることを確認してください。
デプロイメントのバインディング
パブリック・エンドポイント - デフォルトのパブリック・サービス・エンドポイントを使用してデプロイメントに接続する場合は、クラスター名、リソース・グループ、およびデプロイメント名を指定して cluster service bind
コマンドを実行できます。
ibmcloud ks cluster service bind <CLUSTER_NAME> <RESOURCE_GROUP> <DEPLOYMENT_NAME_OR_CRN>
または プライベートエンドポイント- プライベートエンドポイントを使用したい場合(デプロイで有効になっている場合)、Kubernetesがデータベースにバインドする際に使用するサービスキーを作成します。
ibmcloud resource service-key-create <PRIVATE_KEY> --instance-name <DEPLOYMENT_NAME_OR_CRN> --service-endpoint private
--service-endpoint private
を使用してプライベート・サービス・エンドポイントが選択されます。 この後、cluster service bind
コマンドを使用して、プライベート・エンドポイントを介してデータベースを Kubernetes クラスターにバインドします。
ibmcloud ks cluster service bind <CLUSTER_NAME> <RESOURCE_GROUP> <DEPLOYMENT_NAME_OR_CRN> --key <PRIVATE_KEY>
検証 - クラスターの名前空間内に Kubernetes シークレットが作成されたことを検証します。 次のコマンドを実行すると、アカウントにプロビジョニングされている配置のインスタンスにアクセスするための API キーが取得されます。
kubectl get secrets --namespace=default
サービスのバインドについての詳細は、Kubernetes Service の資料を参照してください。
Kubernetes アプリ内での構成
アプリケーションを Kubernetes サービスにバインドすると、クラスターの秘密から環境変数が作成されます。 デプロイメントの接続情報は、 JSON オブジェクトとして BINDING
内に保持されます。 この JSON オブジェクトをアプリケーションにロードして解析し、アプリケーションのドライバーがデータベースに接続するために必要とする情報を取り出します。
接続ストリングのページに、これらの JSON フィールドのリファレンスがあります。
詳細については、Kubernetes Service ドキュメント を参照してください。