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