4.5. 初めてのイメージのデプロイ
OpenShift Container Platform でアプリケーションをデプロイする最も簡単な方法は、既存のコンテナーイメージを実行することです。以下の手順では、national-parks-app という名前のアプリケーションのフロントエンドコンポーネントをデプロイします。Web アプリケーションは対話型のマップを表示します。マップには、全世界の主要な国立公園の場所が表示されます。
前提条件
- OpenShift Container Platform クラスターへのアクセス。
-
OpenShift CLI (
oc) がインストールされている。
手順
アプリケーションをデプロイするには、以下のコマンドを入力します。
oc new-app quay.io/openshiftroadshow/parksmap:latest --name=parksmap -l 'app=national-parks-app,component=parksmap,role=frontend,app.kubernetes.io/part-of=national-parks-app'
$ oc new-app quay.io/openshiftroadshow/parksmap:latest --name=parksmap -l 'app=national-parks-app,component=parksmap,role=frontend,app.kubernetes.io/part-of=national-parks-app'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.1. ルートの作成 リンクのコピーリンクがクリップボードにコピーされました!
外部クライアントは、ルーティング層を使用して OpenShift Container Platform で実行されているアプリケーションにアクセスできます。その背後にあるデータオブジェクトは ルート です。デフォルトの OpenShift Container Platform ルーター (HAProxy) は、受信リクエストの HTTP ヘッダーを使用して、接続をプロキシー処理する場所を決定します。
オプションとして、ルートに TLS などのセキュリティーを定義できます。
前提条件
- OpenShift Container Platform クラスターへのアクセス。
-
OpenShift CLI (
oc) がインストールされている。 - イメージがデプロイされている。
-
cluster-adminまたはproject-admin権限がある。
手順
作成したアプリケーションサービスを取得するには、以下のコマンドを入力します。
oc get service
$ oc get serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE parksmap ClusterIP <your-cluster-IP> <123.456.789> 8080/TCP 8m29s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE parksmap ClusterIP <your-cluster-IP> <123.456.789> 8080/TCP 8m29sCopy to Clipboard Copied! Toggle word wrap Toggle overflow ルートを作成するには、以下のコマンドを入力します。
oc create route edge parksmap --service=parksmap
$ oc create route edge parksmap --service=parksmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
route.route.openshift.io/parksmap created
route.route.openshift.io/parksmap createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 作成したアプリケーションのルートを取得するには、以下のコマンドを入力します。
oc get route
$ oc get routeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD parksmap parksmap-user-getting-started.apps.cluster.example.com parksmap 8080-tcp edge None
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD parksmap parksmap-user-getting-started.apps.cluster.example.com parksmap 8080-tcp edge NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2. Pod の検証 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は、Pod の Kubernetes の概念を活用しています。これはホスト上に共にデプロイされる 1 つ以上のコンテナーであり、定義、デプロイ、管理される最小のコンピュート単位です。Pod は、コンテナーに対して、(物理または仮想) マシンインスタンスとほぼ同等のものです。
クラスターの Pod を表示し、それらの Pod およびクラスター全体としての正常性を判別できます。
前提条件
- OpenShift Container Platform クラスターへのアクセス。
-
OpenShift CLI (
oc) がインストールされている。 - イメージがデプロイされている。
手順
ノード名と共にすべての Pod をリスト表示するには、以下のコマンドを入力します。
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE parksmap-5f9579955-6sng8 1/1 Running 0 77s
NAME READY STATUS RESTARTS AGE parksmap-5f9579955-6sng8 1/1 Running 0 77sCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべての Pod の詳細をリスト表示するには、以下のコマンドを入力します。
oc describe pods
$ oc describe podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.3. アプリケーションのスケーリング リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes では、Deployment オブジェクトはアプリケーションのデプロイメント方法を定義します。ほとんどの場合、ユーザーは Pod、Service、ReplicaSets、および Deployment リソースを共に使用します。ほとんどの場合、OpenShift Container Platform は必要なリソースを作成します。
national-parks-app イメージをデプロイすると、デプロイメントリソースが作成されます。以下の例では、1 つの Pod のみがデプロイされます。
以下の手順では、2 つのインスタンスを使用するように national-parks-image をスケーリングします。
前提条件
- OpenShift Container Platform クラスターへのアクセス。
-
OpenShift CLI (
oc) がインストールされている。 - イメージがデプロイされている。
手順
アプリケーションを 1 つの Pod インスタンスから 2 つの Pod インスタンスにスケーリングするには、以下のコマンドを入力します。
oc scale --current-replicas=1 --replicas=2 deployment/parksmap
$ oc scale --current-replicas=1 --replicas=2 deployment/parksmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
deployment.apps/parksmap scaled
deployment.apps/parksmap scaledCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
アプリケーションが適切にスケーリングされていることを確認するには、以下のコマンドを入力します。
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE parksmap-5f9579955-6sng8 1/1 Running 0 7m39s parksmap-5f9579955-8tgft 1/1 Running 0 24s
NAME READY STATUS RESTARTS AGE parksmap-5f9579955-6sng8 1/1 Running 0 7m39s parksmap-5f9579955-8tgft 1/1 Running 0 24sCopy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションを以前の 1 つの Pod インスタンスにスケールダウンするには、以下のコマンドを入力します。
oc scale --current-replicas=2 --replicas=1 deployment/parksmap
$ oc scale --current-replicas=2 --replicas=1 deployment/parksmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow