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 service
Copy 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 8m29s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルートを作成するには、以下のコマンドを入力します。
oc create route edge parksmap --service=parksmap
$ oc create route edge parksmap --service=parksmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
route.route.openshift.io/parksmap created
route.route.openshift.io/parksmap created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成したアプリケーションのルートを取得するには、以下のコマンドを入力します。
oc get route
$ oc get route
Copy 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 None
Copy 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 pods
Copy 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 77s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべての Pod の詳細をリスト表示するには、以下のコマンドを入力します。
oc describe pods
$ oc describe pods
Copy 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/parksmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
deployment.apps/parksmap scaled
deployment.apps/parksmap scaled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
アプリケーションが適切にスケーリングされていることを確認するには、以下のコマンドを入力します。
oc get pods
$ oc get pods
Copy 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 24s
Copy 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/parksmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow