2. oc new-app を使った Hello world コンテナのデプロイ

1. OpenShift 独自のコマンドを使用して簡単なサンプルコンテナをデプロイしてみる #

今度は OpenShift の独自コマンド oc new-appを使用して、一番はじめにデプロイした hello-openshift コンテナをデプロイしてみます。

1.1. Project の作成 #

  1. 新しい project を作成します。

project は、 namespace を拡張した OpenShift 独自の概念です。

oc new-project hello-openshift2

明示的に project を変更しなくても、新しい project にスイッチしています。

1.2. deployment / service の作成 #

  1. 以下のコマンドで hello-openshift コンテナを使った deploymentservice を一気に作成します。この oc new-app は OpenShift の独自コマンドです。 container のイメージが公開している port の情報を持っている場合は、service まで作成してくれます。
oc new-app --name hello-openshift --image quay.io/openshift/origin-hello-openshift

1.3. route の作成 (アプリの外部公開) #

  1. route (Kubernetes の ingress に相当) を作成します。Serviceexpose する事で作成されます。
oc expose service hello-openshift
  1. 作成された route を確認します。
oc get route
  1. route で設定されたホスト名の部分を変数 HOST に取り出します。
HOST=$(oc get route/hello-openshift -o jsonpath={.spec.host})

1.4. curl でのアクセス確認 #

  1. curl コマンドでアクセスして確認します。
$ curl $HOST
Hello OpenShift!
$

ちょっとだけですが、OpenShift の独自コマンドを使うことで手数を減らす事ができるようになっています。

2. 作成したアプリのレプリカ数を増やしてみる #

  1. 可用性を保つために Pod の replica 数を3つに増やしてみます。
oc scale deployment hello-openshift --replicas=3
  1. Pod が 3つになっている事を以下のコマンドで確認します。
oc get pods
  1. 3つに増やしても引き続きアプリケーションにアクセスできることを curl コマンドで確認します。(アクセス先 URL は oc get route で表示される URL です)
curl $HOST

3. デプロイしたアプリケーションを削除する #

  1. 作成した deploymentserviceroute は、project を削除することで全て消す事ができます。 以下のコマンドで実験で使用したアプリケーションを削除します。
oc delete project hello-openshift2