1. OpenShift 独自のコマンドを使用して簡単なサンプルコンテナをデプロイしてみる #
今度は OpenShift の独自コマンド oc new-appを使用して、一番はじめにデプロイした hello-openshift コンテナをデプロイしてみます。
1.1. Project の作成 #
- 新しい
projectを作成します。
project は、 namespace を拡張した OpenShift 独自の概念です。
oc new-project hello-openshift2
明示的に project を変更しなくても、新しい project にスイッチしています。
1.2. deployment / service の作成 #
- 以下のコマンドで
hello-openshiftコンテナを使ったdeploymentとserviceを一気に作成します。このoc new-appは OpenShift の独自コマンドです。 container のイメージが公開している port の情報を持っている場合は、serviceまで作成してくれます。
oc new-app --name hello-openshift --image quay.io/openshift/origin-hello-openshift
1.3. route の作成 (アプリの外部公開) #
route(Kubernetes のingressに相当) を作成します。Serviceをexposeする事で作成されます。
oc expose service hello-openshift
- 作成された
routeを確認します。
oc get route
routeで設定されたホスト名の部分を変数 HOST に取り出します。
HOST=$(oc get route/hello-openshift -o jsonpath={.spec.host})
1.4. curl でのアクセス確認 #
curlコマンドでアクセスして確認します。
$ curl $HOST
Hello OpenShift!
$
ちょっとだけですが、OpenShift の独自コマンドを使うことで手数を減らす事ができるようになっています。
2. 作成したアプリのレプリカ数を増やしてみる #
- 可用性を保つために
Podの replica 数を3つに増やしてみます。
oc scale deployment hello-openshift --replicas=3
- Pod が 3つになっている事を以下のコマンドで確認します。
oc get pods
- 3つに増やしても引き続きアプリケーションにアクセスできることを curl コマンドで確認します。(アクセス先 URL は
oc get routeで表示される URL です)
curl $HOST
3. デプロイしたアプリケーションを削除する #
- 作成した
deployment、service、routeは、projectを削除することで全て消す事ができます。 以下のコマンドで実験で使用したアプリケーションを削除します。
oc delete project hello-openshift2