18.4. チュートリアル: アプリケーションのデプロイ
18.4.1. Kubernetes を使用した OSToy アプリケーションのデプロイ
フロントエンドおよびバックエンドのマイクロサービスコンテナーのイメージを作成してイメージリポジトリーに保存することで、OSToy アプリケーションをデプロイできます。その後、Kubernetes デプロイメントを作成してアプリケーションをデプロイできます。
18.4.1.1. ログインコマンドの取得
- CLI にログインしていない場合は、Web コンソールを使用してクラスターにアクセスします。
右上のログイン名の横にあるドロップダウン矢印をクリックし、Copy Login Command を選択します。
新しいタブが開きます。
- 認証方法を選択します。
- Display Token をクリックします。
- Log in with this token の下のコマンドをコピーします。
ターミナルから、コピーしたコマンドを貼り付けて実行します。ログインに成功すると、次の確認メッセージが表示されます。
$ oc login --token=<your_token> --server=https://api.osd4-demo.abc1.p1.openshiftapps.com:6443 Logged into "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443" as "rosa-user" using the token provided. You don't have any projects. You can try to create a new project, by running oc new-project <project name>
18.4.1.2. 新規プロジェクトの作成
18.4.1.2.1. CLI の使用
以下のコマンドを実行して、クラスターに
ostoy
という名前の新規プロジェクトを作成します。$ oc new-project ostoy
出力例
Now using project "ostoy" on server "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443".
オプション: または、次のコマンドを実行して一意のプロジェクト名でプロジェクトを作成します。
$ oc new-project ostoy-$(uuidgen | cut -d - -f 2 | tr '[:upper:]' '[:lower:]')
18.4.1.2.2. Web コンソールの使用
-
Web コンソールから、Home
Projects をクリックします。 Projects ページで Create Project をクリックします。
18.4.1.3. バックエンドマイクロサービスのデプロイ
マイクロサービスは内部 Web リクエストを処理し、現在のホスト名とランダムに生成された色の文字列を含む JSON オブジェクトを返します。
ターミナルから以下のコマンドを実行してマイクロサービスをデプロイします。
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-microservice-deployment.yaml
出力例
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-microservice-deployment.yaml deployment.apps/ostoy-microservice created service/ostoy-microservice-svc created
18.4.1.4. フロントエンドサービスのデプロイ
フロントエンドデプロイメントでは、アプリケーションと追加の Kubernetes オブジェクトに Node.js フロントエンドを使用します。
ostoy-frontend-deployment.yaml
ファイルは、フロントエンドデプロイメントで次の機能が定義されていることを示しています。
- 永続ボリューム要求
- Deployment オブジェクト
- サービス
- Route
- Configmaps
シークレット
次のコマンドを入力して、アプリケーションのフロントエンドをデプロイし、すべてのオブジェクトを作成します。
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-frontend-deployment.yaml
出力例
persistentvolumeclaim/ostoy-pvc created deployment.apps/ostoy-frontend created service/ostoy-frontend-svc created route.route.openshift.io/ostoy-route created configmap/ostoy-configmap-env created secret/ostoy-secret-env created configmap/ostoy-configmap-files created secret/ostoy-secret created
すべてのオブジェクトが正常に作成されたことが表示されます。
18.4.1.5. ルートの取得
アプリケーションにアクセスするためのルートを取得する必要があります。
次のコマンドを実行して、アプリケーションへのルートを取得します。
$ oc get route
出力例
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD ostoy-route ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com ostoy-frontend-svc <all> None
18.4.1.6. アプリケーションの表示
-
前の手順で出力された
ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com
URL をコピーします。 コピーした URL を Web ブラウザーに貼り付けて Enter キーを押します。アプリケーションのホームページが表示されます。ページが読み込まれない場合は、
https
ではなくhttp
を使用していることを確認してください。