Openshift Origin v0.4.3のWebUI - クリックでアプリケーション作成
OpenShift Origin v0.4.3 をインストールしてみたら、「Create+」というボタンがついていました。何ができるのかなと試してみたところ、CLIではなくWebの管理画面からアプリケーションをデプロイすることができました。
Web画面で選択できるアプリケーションは、OpenShift に予め登録されたアプリケーションテンプレートです。
将来的にはWeb Hosting | OpenShift Hubからアプリケーションを入手して作成するということもできるようになるのでしょう。
今回は、アプリケーションテンプレートの登録方法とこの機能の利用方法を、OpenShift v3 beta (v0.4)を試す - akubicharm’s blog で作成した panda ユーザを使ってご紹介します。
ユーザとプロジェクト
ユーザの準備
[root@local] # useradd panda
プロジェクトの作成
管理コンソールでの指示に従って、プロジェクトの作成とポリシーの設定をします。
ユーザ | panda |
---|---|
プロジェクト | demo |
[root]# openshift ex new-project demo --admin=panda [root]# openshift ex policy add-role-to-user admin panda -n demo
テンプレート
ここではシンプルなアプリケーションを作成するテンプレート(akubicharm/openshift-v3-application · GitHubの hello-pod-temlate.json)を利用します。
テンプレートの登録
-f オプションでテンプレートを指定し、-n オプションでプロジェクトを指定します。
[root]# osc create -f hello-pod-template.json -n demo templates/hello-pod-template [root]# osc get template -n demo NAME DESCRIPTION PARAMETERS OBJECTS
hello-pod-template 0 (all set) 1
テンプレートは panda ユーザでも登録することが出来ます。 pandaユーザで demo プロジェクトでの操作ができるように osc login コマンドでログインします。ログイン時に -n オプションで demo プロジェクトを指定していますので、osc create 実行時は -n オプションは不要です。
[root]# su - panda [panda]$ osc login -u panda -p panda -n demo [panda]$ osc create -f hello-pod-template.json
テンプレートでの定義内容
テンプレートではアプリケーション作成時に指定可能なパラメータを定義しておくことも可能ですが、今回は単純なテンプレートなので、パラメータの定義はありません。
メタデータセクション | この定義の名称などを定義します。 |
name": "hello-pod-template" |
---|---|---|
テンプレート定義セクション | テンプレートの情報を定義します |
"kind": "Template", "apiVersion": "v1beta1", "description": "Hello Pod Template", |
アイテムズセクション | 通常のアプリケーション定義。ポートのマッピングなどを定義します |
"ports": [{ "hostPort": 6061, "containerPort": 8080 }] |
アプリケーションの作成
- ログイン
panda/panda でログインします。
- プロジェクトの選択
「demo」プロジェクトを選択します。
- 作成開始
画面右上の「Create+」ボタンをクリックして、アプリケーションの作成を開始します。
- テンプレートの選択
「Browse all templates...」ボタンをクリックすると、テンプレート選択画面が表示されます(まだ、一つしかテンプレートを登録していないので寂しい…)。ここで「hello-pod-template」を選択すると、確認のダイアログが表示されます。ここで「Select template...」ボタンをクリックしてテンプレートの選択を確定します。
- アプリケーションの作成
画面下部の「Create」ボタンをクリックするとアプリケーションの作成が始まります。成功を示すポップアップが表示されたら完成です。
hello-openshift アプリケーションは、コンテナの8080ポートをローカルホストの6061ポートにマッピングしているのでhttp://localhost:6061にアクセスすると"Hello OpenShift!"と表示されます。
[root]# curl http://localhost:6061 Hello OpenShift!