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