2.6. データベースアプリケーションのデプロイ
次の手順では、国立公園の位置情報を保持する MongoDB データベースである mongodb-nationalparks をデプロイします。
前提条件
-
parksmapフロントエンドアプリケーションをデプロイしている。 -
nationalparksバックエンドアプリケーションをデプロイしている。
手順
-
右上隅の Quick create (
) メニューで、Container images をクリックします。
-
Image name from external registry を選択し、
registry.redhat.io/rhmap47/mongodbと入力します。 -
Runtime icon フィールドで、
mongodbを検索して選択します。 - General セクションまでスクロールします。
-
Application name フィールドに
national-parks-appと入力します。 -
Name フィールドに
mongodb-nationalparksと入力します。 - Deploy セクションまでスクロールします。
- Resource type フィールドで、Deployment が選択されていることを確認します。
- Show advanced Deployment option をクリックします。
Environment variables (runtime only) の下に、次の名前と値を追加します。
Expand 表2.1 環境変数の名前および値 名前 値 MONGODB_USERmongodbMONGODB_PASSWORDmongodbMONGODB_DATABASEmongodbMONGODB_ADMIN_PASSWORDmongodbヒント追加の各環境変数を追加するには、Add value をクリックします。
Advanced options セクションで、Create a route をオフにします。
データベースアプリケーションは外部からアクセスする必要がないため、ルートは必要ありません。
- Create をクリックします。
Topology ページにリダイレクトされ、ここで national-parks-app アプリケーションの mongodb-nationalparks デプロイメントが表示されます。
2.6.1. シークレットを作成してデータベースへのアクセスを提供する リンクのコピーリンクがクリップボードにコピーされました!
nationalparks アプリケーションでは、MongoDB データベースにアクセスするために、データベース名、ユーザー名、パスワードなどの情報が必要です。ただし、これらは機密情報であるため、Pod に直接保存しないでください。
シークレット を使用して機密情報を保存し、そのシークレットをワークロードと共有します。
Secret オブジェクトは、パスワード、OpenShift Container Platform クライアント設定ファイル、プライベートソースリポジトリーの認証情報などの機密情報を保持するためのメカニズムを提供します。シークレットは機密内容を Pod から切り離します。ボリュームプラグインを使用するか、シークレットを環境変数として渡すことで、シークレットをコンテナーにマウントできます。その後、システムはシークレットを使用して、Pod に機密情報を提供できます。
次の手順では、nationalparks-mongodb-parameters シークレットを作成し、それを nationalparks ワークロードにマウントします。
前提条件
-
nationalparksバックエンドアプリケーションをデプロイしている。 -
mongodb-nationalparksデータベースアプリケーションをデプロイしている。
手順
-
Workloads
Secrets に移動します。 -
Create
Key/value secret をクリックします。 -
Secret name フィールドに
nationalparks-mongodb-parametersを入力します。 Key および Value に以下の値を入力します。
Expand 表2.2 シークレットのキーおよび値 キー 値 DATABASE_SERVICE_NAMEmongodb-nationalparksMONGODB_USERmongodbMONGODB_PASSWORDmongodbMONGODB_DATABASEmongodbMONGODB_ADMIN_PASSWORDmongodbヒント追加の各キー/値ペアを追加するには、Add key/value をクリックします。
- Create をクリックします。
- Add Secret to workload をクリックします。
-
Add this secret to workload リストから、
nationalparksを選択します。 - Save をクリックします。
設定をこのように変更すると、環境変数が適切に挿入された状態で nationalparks デプロイメントの新しいロールアウトがトリガーされます。
2.6.2. データベースへのデータのロード リンクのコピーリンクがクリップボードにコピーされました!
mongodb-nationalparks データベースをデプロイしたら、国立公園の位置情報をデータベースにロードできます。
前提条件
-
nationalparksバックエンドアプリケーションをデプロイしている。 -
mongodb-nationalparksデータベースアプリケーションをデプロイしている。
手順
-
Workloads
Topology に移動します。 -
nationalparksデプロイメントをクリックし、Resources タブを選択します。 - ルートから Location URL をコピーします。
URL を Web ブラウザーにペーストし、URL の最後に以下を追加します。
/ws/data/load
/ws/data/loadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
https://nationalparks-user-getting-started.apps.cluster.example.com/ws/data/load
https://nationalparks-user-getting-started.apps.cluster.example.com/ws/data/loadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Items inserted in database: 2893
Items inserted in database: 2893Copy to Clipboard Copied! Toggle word wrap Toggle overflow