IBM Cloud アプリケーションの接続

IBM Cloud 内で実行されているアプリケーションを、IBM Cloud® Databases for MySQL デプロイメントにバインドできます。

Kubernetes サービス・アプリケーションの接続

Kubernetes Service アプリケーションへのクラウド・データベース・デプロイメントの接続は、2 ステップのプロセスです。 最初のステップでは、デプロイメントをクラスターにバインドし、その接続文字列をシークレットに保管する必要があります。 2 番目のステップでは、その接続ストリングを使用するようにアプリケーションを構成します。

Kubernetes Service の接続のチュートリアルにあるサンプル・アプリは、 Node.js を使用するサンプル・アプリケーションを提供し、このサンプル・アプリケーションを Cloud Databases デプロイメントにバインドする方法を示しています。

Kubernetes Service アプリケーションをデプロイメントに接続する前に、デプロイメントとクラスターが両方とも同じリージョンとリソース・グループ内にあることを確認してください。

デプロイメントのバインディング

パブリック・エンドポイント - デフォルトのパブリック・サービス・エンドポイントを使用してデプロイメントに接続する場合は、クラスター名、リソース・グループ、およびデプロイメント名を指定して cluster service bind コマンドを実行できます。

ibmcloud ks cluster service bind <your_cluster_name> <resource_group> <your_database_deployment>

プライベート・エンドポイント -プライベート・エンドポイントを使用する必要があり、デプロイメントでプライベート・エンドポイントが有効になっている場合は、データベースへのバインド時に Kubernetes でそのサービス・キーが使用されるように、まずデータベースのサービス・キーを作成する必要があります。

ibmcloud resource service-key-create <your-private-key> --instance-name <your_database_deployment> --service-endpoint private  

--service-endpoint private を使用してプライベート・サービス・エンドポイントが選択されます。 この後、cluster service bind コマンドを使用して、プライベート・エンドポイントを介してデータベースを Kubernetes クラスターにバインドします。

ibmcloud ks cluster service bind <your_cluster_name> <resource_group> <your_database_deployment> --key <your-private-key>

検証 - クラスターの名前空間内に Kubernetes シークレットが作成されたことを検証します。 以下のコマンドを実行すると、アカウント内でプロビジョンされているデプロイメントのインスタンスにアクセスするための API キーを受け取ります。

kubectl get secrets --namespace=default

サービスのバインドについての詳細は、Kubernetes Service の資料を参照してください。

Kubernetes アプリ内での構成

アプリケーションを Kubernetes サービスにバインドすると、クラスターの秘密から環境変数が作成されます。 デプロイメントの接続情報は、 JSON オブジェクトとして BINDING 内に保持されます。 この JSON オブジェクトをアプリケーションにロードして解析し、アプリケーションのドライバーがデータベースに接続するために必要とする情報を取り出します。

接続ストリングのページに、これらの JSON フィールドのリファレンスがあります。

詳しくは、 Kubernetes Service の資料 を参照してください。