3.7. データベースへの接続
national-parks-app
アプリケーションが場所情報を保存する MongoDB データベースをデプロイして接続します。national-parks-app
アプリケーションをマップ可視化ツールのバックエンドとしてマークすると、parksmap
デプロイメントは OpenShift Container Platform の検出メカニズムを使用して地図を自動的に表示します。
前提条件
- OpenShift Container Platform Web コンソールにログインしている。
- Developer パースペクティブを使用している。
- イメージがデプロイされている。
手順
- Developer パースペクティブの +Add ビューで、Container images をクリックしてダイアログを開きます。
-
Image Name フィールドに
quay.io/centos7/mongodb-36-centos7
を入力します。 -
Runtime icon フィールドで、
mongodb
を検索します。 - General セクションまでスクロールダウンします。
現在の値が以下のようであることを確認します。
-
アプリケーション:
national-parks-app
-
名前:
mongodb-nationalparks
-
アプリケーション:
- Resource に Deployment を選択します。
- Create route to the application の横にあるチェックボックスの選択を解除します。
Advanced Options セクションで Deployment をクリックし、以下の環境変数を追加します。
表3.2 環境変数の名前および値 名前 値 MONGODB_USER
mongodb
MONGODB_PASSWORD
mongodb
MONGODB_DATABASE
mongodb
MONGODB_ADMIN_PASSWORD
mongodb
- Create をクリックします。
関連情報
3.7.1. シークレットの作成
Secret
オブジェクトはパスワード、OpenShift Container Platform クライアント設定ファイル、プライベートソースリポジトリーの認証情報などの機密情報を保持するメカニズムを提供します。シークレットは機密内容を Pod から切り離します。シークレットはボリュームプラグインを使用してコンテナーにマウントすることも、システムが Pod の代わりにシークレットを使用して各種アクションを実行することもできます。以下の手順では、シークレット nationalparks-mongodb-parameters
を追加し、それを nationalparks
ワークロードにマウントします。
前提条件
- OpenShift Container Platform Web コンソールにログインしている。
- Developer パースペクティブを使用している。
- イメージがデプロイされている。
手順
- Developer パースペクティブで、左側のナビゲーションにある Secrets に移動し、Secrets をクリックします。
Create
Key/value secret をクリックします。 -
Secret name フィールドに
nationalparks-mongodb-parameters
を入力します。 Key および Value に以下の値を入力します。
表3.3 シークレットのキーおよび値 キー 値 MONGODB_USER
mongodb
DATABASE_SERVICE_NAME
mongodb-nationalparks
MONGODB_PASSWORD
mongodb
MONGODB_DATABASE
mongodb
MONGODB_ADMIN_PASSWORD
mongodb
- Create をクリックします。
-
Secret name フィールドに
Add Secret to workload をクリックします。
-
ドロップダウンメニューから、追加するワークロードとして
nationalparks
を選択します。 - Save をクリックします。
-
ドロップダウンメニューから、追加するワークロードとして
設定をこのように変更すると、環境変数が適切に挿入された状態で nationalparks
デプロイメントの新しいロールアウトがトリガーされます。
関連情報
3.7.2. データの読み込みおよび国立公園の地図表示
parksmap
および nationalparks
アプリケーションをデプロイし、mongodb-nationalparks
データベースをデプロイしました。ただし、データベース に データが読み込まれていません。データを読み込む前に、mongodb-nationalparks
および nationalparks
デプロイメントに適切なラベルを追加します。
前提条件
- OpenShift Container Platform Web コンソールにログインしている。
- Developer パースペクティブを使用している。
- イメージがデプロイされている。
手順
-
Topology ビューから
nationalparks
デプロイメントに移動し、Resources をクリックしてルート情報を取得します。 URL を Web ブラウザーにコピーアンドペーストし、URL の最後に以下を追加します。
/ws/data/load
出力例
Items inserted in database: 2893
-
Topology ビューから
parksmap
デプロイメントに移動し、Resources をクリックしてルート情報を取得します。 - URL をコピーして Web ブラウザーに貼り付けて、世界地図の国立公園を表示します。
図3.4 世界中の国立公園