「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>OpenShift]]
--OpenShiftファースト・ステップ
--[[OpenShiftセカンド・ステップ]]
*目次 [#l97a5d0b]
#contents
*概要 [#b18f50c2]
-OpenShiftのファーストステップをどうやるか?~
取り敢えず、以下のTest Drive OpenShiftから入ることにした。
--Try Red Hat OpenShift Container Platform for Free~
https://www.openshift.com/products/container-platform/trial/
-Test Drive OpenShift
--Test Drive OpenShiftは、GCP, Azure, OPS?で提供されている模様。
--OpenShift Container Platformの機能を体験するのに役立つ。
--以下は、「on Azure」のドキュメントと手順から。
-Azureを使用するので、Azureのアカウントを作成しておく。
*サンプル [#fcc28c76]
国立公園サンプル・アプリケーション
-Java EEベースのアプリケーション
-MongoDBデータベースに対して2D地理空間検索を実行。
-世界中のすべての国立公園を検索してマップする。
*アーキテクチャ [#nd02a3f7]
Azure上にデプロイされる。
**Azure上のアーキテクチャ [#nc246381]
-同一のResourceグループ、仮想ネットワーク
-マスターとノードで異なるサブネット・可用性セット
-マスター → ノードは内部ロードバランサを経由する。
**[[OpenShiftのアーキテクチャ>OpenShift#o75598f0]] [#i725f781]
*立上 [#qbee041e]
**探索 [#bf9e2db5]
-[[Microsoft Azure Test Drive>https://testdrive.azure.com/#/test-drive/redhat.openshift-test-drive]]にアクセスする。
-すると、
>「No test drive was found!」
>と表示されるので、
-以下のリンク
>「Explore more solutions on Azure Marketplace [See more]」
>を押下して、Marketplace 起動する。
-そこで、OpenShiftを検索し、~
[Red Hat OpenShift Container Platform]を選択する。
**起動 [#t7a8be1e]
-以下の画面が表示されるので、[体験版]をクリックする(5hだけ利用可能)。
#ref(1.png,left,nowrap,手順1,60%)
-すると、Test Drive OpenShift (on Azure)の
--展開が開始される(マニュアルが提供される)。
--起動には20-30分かかる。
--プロビジョニングの完了後、
---ポータルの正確なURLとアカウント情報が電子メールで提供される。
---また、画面が以下のようにプロビジョニングの完了後の画面に遷移する。
#ref(2.png,left,nowrap,手順2,60%)
-ポータルの正確なURLとアカウント情報をメモしておく。
*演習 [#vfa0c18f]
**1 : OpenShift CLIのインストール [#i98da750]
[[OpenShift origin client tools v1.4.1 for Windows>https://github.com/openshift/origin/releases/download/v1.4.1/openshift-origin-client-tools-v1.4.1-3f9807a-windows.zip]]をダウンロード
***インストール [#m62f28a4]
-ZIPの展開で良い(ここでは「C:\openshift-cli」とする)。
-以下パス情報をユーザー環境変数(Path)に登録する。
C:\openshift-cli
-CMDを起動し、[[oc>OpenShift#t172a1fe]]コマンドを実行し、動作することを確認する。
>oc
OpenShift Client
・・・
>oc version
oc v1.4.1+3f9807a
kubernetes v1.4.0+776c994
features: Basic-Auth
**2 : 動作確認とクイックツアー [#zafdc4b2]
***ログイン [#d7a25afe]
-ポータルを使用
--ポータルの正確なURLにアクセスして、ポータルからログイン可能。
https://masterdnsxx.centralus.cloudapp.azure.com/console
-CLIを使用 (1)
--SSHのEndpointの正確なURLを使用して以下の[[oc login>OpenShift#n82c3ead]]コマンドを実行する。
>oc login opnshdnsxx.westus.cloudapp.azure.com:8443
--Test Driveに自己署名証明書を使用しているので y を押下
Use insecure connections? (y/n):
--一部のバージョンのWindows環境では以下のオプションが必要になることがある。
>oc login https://opnshdnsxx.westus.cloudapp.azure.com:8443 –insecure-skip-tls-verify=true
--アカウント情報を入力
Username: (The username provided to you in Access information section of the test-drive)
Password: (The password provided to you in Access information section of the test-drive)
Login successful.
-CLIを使用 (2)
--ポータルにログインしてログイン・コマンドをコピーする。
#ref(3.png,left,nowrap,手順3,60%)
--以下のトークン付きのログイン・コマンドを実行してログインする。
>oc login https://opnshdnsxx.centralus.cloudapp.azure.com --token=XXXXX
--Test Driveに自己署名証明書を使用しているので y を押下
Use insecure connections? (y/n):
-ログインが完了し、既定のプロジェクトに居る状態になる。
Logged into "https://masterdnsxx.centralus.cloudapp.azure.com:443" as "testdrive" using the token provided.
You have access to the following projects and can switch between them with 'oc project <projectname>':
* default
kube-public
kube-system
logging
management-infra
openshift
openshift-infra
openshift-node
openshift-web-console
Using project "default".
***新規作成 [#g283220f]
続いて、[[oc new-project>OpenShift#o7d1d51c]]コマンドで[[プロジェクト>OpenShift#me26efb8]]を新規作成する。
>oc new-project <projectname>
**3 : Docker Imageを展開 [#f2cb9675]
***最初のイメージを展開する。 [#d38c20f4]
-Kubernetes Guestbookアプリケーションを展開する。
https://hub.docker.com/r/kubernetes/guestbook/
-先ずは、[[oc new-project>OpenShift#o7d1d51c]]コマンドで、~
guestbookという新しい[[プロジェクト>OpenShift#me26efb8]]を作成する。
>oc new-project usertestdrive-guestbook
--[[oc new-project>OpenShift#o7d1d51c]]コマンドは自動的にその[[プロジェクト>OpenShift#me26efb8]]を使用するように切り替える。
Now using project "usertestdrive-guestbook" on server "https://masterdnsxx.centralus.cloudapp.azure.com:443".
You can add applications to this project with the 'new-app' command. For example, try:
oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
to build a new example application in Ruby.
--[[プロジェクト>OpenShift#me26efb8]]の参照 / アクセスをする場合は、[[oc get projects>OpenShift#y80f6ad9]]コマンドを使用する。
>oc get projects
NAME DISPLAY NAME STATUS
default Active
kube-public Active
kube-system Active
logging Active
management-infra Active
openshift Active
openshift-infra Active
openshift-node Active
openshift-web-console Active
usertestdrive-guestbook Active
-新規[[プロジェクト>OpenShift#me26efb8]]を作成した後、[[サービス>OpenShift#l875353c]]を作成する。
--[[oc new-app>OpenShift#nfa9dcdd]]コマンドを実行する。
>oc new-app kubernetes/guestbook
--> Found Docker image 4305190 (3 years old) from Docker Hub for "kubernetes/guestbook"
* An image stream will be created as "guestbook:latest" that will track this image
* This image will be deployed in deployment config "guestbook"
* Port 3000/tcp will be load balanced by service "guestbook"
* Other containers can access this service through the hostname "guestbook"
* WARNING: Image "kubernetes/guestbook" runs as the 'root' user which may not be permitted by your cluster administrator
--> Creating resources ...
imagestream "guestbook" created
deploymentconfig "guestbook" created
service "guestbook" created
--> Success
Run 'oc status' to view your app.
--次の方法で、イメージのダウンロードと展開のステータスを確認できる。
---CLIを使用~
[[oc get pods>OpenShift#y80f6ad9]]コマンドを使用する。
>oc get pods -w
NAME READY STATUS RESTARTS AGE
guestbook-1-deploy 0/1 ContainerCreating 0 39s
NAME READY STATUS RESTARTS AGE
guestbook-1-deploy 1/1 Running 0 1m
guestbook-1-zw947 0/1 Pending 0 0s
guestbook-1-zw947 0/1 Pending 0 0s
guestbook-1-zw947 0/1 ContainerCreating 0 0s
guestbook-1-zw947 1/1 Running 0 8s
guestbook-1-deploy 0/1 Completed 0 1m
guestbook-1-deploy 0/1 Terminating 0 1m
guestbook-1-deploy 0/1 Terminating 0 1m
※ To exit, hit Ctrl+C.
---ポータルを使用
>
+ポータルに移動
+[[プロジェクト>OpenShift#me26efb8]]を選択
usertestdrive-guestbook
+ブラウズを選択
+[[ポッド>Kubernetes#j268603c]]を選択
--[[oc get services>OpenShift#y80f6ad9]]コマンドで、[[サービス>OpenShift#l875353c]]が作成されたのを確認できる。
>oc get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
guestbook 172.30.XXX.XXX <none> 3000/TCP 8m
***作成した[[サービス>OpenShift#l875353c]]を確認する。 [#t1dac5f4]
-[[oc get service>OpenShift#y80f6ad9]]コマンドで、[[サービス>OpenShift#l875353c]]の詳細をJSON形式で取得できる。
>oc get service guestbook -o json
・・・JSON・・・
-[[oc get pods>OpenShift#y80f6ad9]]コマンドで、[[ポッド>Kubernetes#j268603c]]の詳細をJSON形式で取得できる。
>oc get pods
NAME READY STATUS RESTARTS AGE
guestbook-1-zw947 1/1 Running 0 5m
>oc get pod guestbook-1-zw947 -o json
・・・JSON・・・
-[[oc describe service>OpenShift#i739e841]]コマンドで、[[サービス>OpenShift#l875353c]]の詳細を取得できる。
>oc describe service guestbook
**4 : ルート作成してサービス公開[#j0e644a9]
-[[oc get routes>OpenShift#y80f6ad9]]コマンドで、既存のルートがないことを確認する。
>oc get routes
No resources found.
-[[oc get services>OpenShift#y80f6ad9]]コマンドで、公開する[[サービス>OpenShift#l875353c]]名を取得する。
>oc get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
guestbook 172.30.XXX.XXX <none> 3000/TCP 8m
-[[oc expose service>OpenShift#u8e985ad]]コマンドで、[[サービス>OpenShift#l875353c]]のルートを作成する。
>oc expose service guestbook
route "guestbook" exposed
-[[oc get routes>OpenShift#y80f6ad9]]コマンドで、ルートが作成されたことを確認する。
>oc get routes
NAME HOST/PORT PATH
SERVICES PORT TERMINATION
guestbook guestbook-usertestdrive-guestbook.XXX.XXX.XXX.XXX.Xip.io
guestbook 3000-tcp
-WebアプリケーションにこのURLを使用してアクセス可能。
https://guestbook-usertestdrive-guestbook.XXX.XXX.XXX.XXX.Xip.io/
**5 : リモート操作 [#q0ae4455]
-[[oc get pods>OpenShift#y80f6ad9]]コマンドで、[[ポッド>Kubernetes#j268603c]]名を取得する。
>oc get pods
NAME READY STATUS RESTARTS AGE
guestbook-1-zw947 1/1 Running 0 16m
-[[oc rsh>OpenShift#aad9e41b]]コマンドで、[[ポッド>Kubernetes#j268603c]]にRSHを確立できる。
--(1)
>oc rsh guestbook-1-zw947
BusyBox v1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/app $ ls public/
index.html script.js style.css
/app $ exit
>
--(2)
>oc rsh guestbook-1-zw947 ls public/
index.html script.js style.css
-[[oc exec>OpenShift#o147b488]]コマンドで、[[ポッド>Kubernetes#j268603c]]内でコマンドを実行できる。
>oc exec guestbook-1-zw947 ls public/
index.html
script.js
style.css
**6 : スケーリングと自己修復 [#h23df53a]
***スケールアップを確認する。 [#df3a2b32]
-現在の値を確認する。
--DCを確認する。
>oc get dc
NAME REVISION DESIRED CURRENT TRIGGERED BY
guestbook 1 1 1 config,image(guestbook:latest)
--RCを確認する。
>oc get rc
NAME DESIRED CURRENT READY AGE
guestbook-1 1 1 1 2m
>oc get rc guestbook-1 -o json
・・・JSON・・・
>oc get rc guestbook-1 -o json | grep -B1 -E "replicas" | grep -v "deployment"
--
"spec": {
"replicas": 1,
--
"status": {
"replicas": 1,
※ Windowsではgrepが実行不可能。[[WSL>https://techinfoofmicrosofttech.osscons.jp/index.php?Windows%20Subsystem%20for%20Linux]]を使用するとイイかもしれない。
-DCのレプリカ数を「3」に設定しスケールさせる。
--ポータルを使用~
ポータルなら[[ポッド>Kubernetes#j268603c]]横の[↑]ボタンで行う。
#ref(4.png,left,nowrap,手順4,60%)
--CLIを使用
>oc scale --replicas=3 dc/guestbook
deploymentconfig "guestbook" scaled
-変更後の値を確認する。
--DCを確認する。
>oc get dc
NAME REVISION DESIRED CURRENT TRIGGERED BY
guestbook 1 3 3 config,image(guestbook:latest)
--RCを確認する。
>oc get rc
NAME DESIRED CURRENT READY AGE
guestbook-1 3 3 3 4m
>oc get rc guestbook-1 -o json
・・・JSON・・・
>oc get rc guestbook-1 -o json | grep -B1 -E "replicas" | grep -v "deployment"
--
"spec": {
"replicas": 3,
--
"status": {
"replicas": n,
-実際にレプリカが増えたかどうかは、[[ポッド>Kubernetes#j268603c]]の数を確認する。
--CLIを使用
>oc get pods
NAME READY STATUS RESTARTS AGE
guestbook-1-2lbxq 1/1 Running 0 37m
guestbook-1-g7flm 1/1 Running 0 37m
guestbook-1-nb9gv 1/1 Running 0 41m
--ポータルを使用
#ref(5.png,left,nowrap,手順5,60%)
-以下のコマンドで[[サービス>OpenShift#l875353c]]のエンドポイントを確認できる。~
([[ポッド>Kubernetes#j268603c]]がスケールするので、エンドポイントも増える)
>oc describe svc/guestbook
Name: guestbook
Namespace: usertestdrive-guestbook
Labels: app=guestbook
Selector: app=guestbook,deploymentconfig=guestbook
Type: ClusterIP
IP: 172.30.XXX.XXX
Port: 3000-tcp 3000/TCP
Endpoints: 10.128.0.5:3000,10.128.0.6:3000,10.128.0.7:3000
Session Affinity: None
No events.
***自己修復を確認する。 [#e0e9aefa]
-以下のコマンドで[[ポッド>Kubernetes#j268603c]]を削除する。
>oc delete pod guestbook-1-2lbxq
pod "guestbook-1-2lbxq" deleted
-直ちに、[[ポッド>Kubernetes#j268603c]]の数を確認する。
--Terminating & Pending
>oc get pods
NAME READY STATUS RESTARTS AGE
guestbook-1-2lbxq 1/1 Terminating 0 39m
guestbook-1-7drz5 0/1 Pending 0 0s
guestbook-1-g7flm 1/1 Running 0 39m
guestbook-1-nb9gv 1/1 Running 0 43m
--Pending -> Running
>oc get pods
NAME READY STATUS RESTARTS AGE
guestbook-1-7drz5 1/1 Running 0 14s
guestbook-1-g7flm 1/1 Running 0 39m
guestbook-1-nb9gv 1/1 Running 0 44m
**7 : JBossにJavaコードをデプロイ [#vac65cfc]
国立公園サンプルアプリケーションを展開する。
-国立公園サンプルアプリケーション~
世界中のすべての国立公園を検索し、2D地理空間情報をマップする。
--Java EEベースのアプリケーション
--MongoDBデータベース
***プロジェクトの作成 [#wdac3f1e]
>oc new-project usertestdrive-nationalparks
Now using project "usertestdrive-nationalparks" on server "https://masterdnsxx.centralus.cloudapp.azure.com:443".
You can add applications to this project with the 'new-app' command. For example, try:
oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
to build a new example application in Ruby.
***プロジェクトのビルド [#d0db777b]
OpenShift上のDockerイメージとコードを結合する
-ポータルを使用
--[[ポータルを表示する>#zafdc4b2]]。
--[My Projects] -> 「usertestdrive-nationalparks」を選択する。
--[Add to Project]から[Browse Catalog]を選択する。
--「"jboss-eap70-opensshift" (JBoss EAP 7.0 (no https))」を検索して選択する。
--開いたダイアログの次を押下し[[設定画面>OpenShiftの設定画面#s482a08a]]でアプリケーションのGitソースURIの設定を行う。
https://gitlab.com/gshipley/nationalparks.git
--次へで終了すると、以下のようにビルドが開始される。
#ref(6.png,left,nowrap,手順6,60%)
-CLIを使用~
・・・
***ビルド確認 [#k0643ec5]
プロジェクトのビルドの完了後、ビルド結果を確認する。
-ポータルを使用
#ref(7.png,left,nowrap,手順7,60%)
--ビルドのステータスを確認できる。
--また、ログで動作の確認ができる。
--リンク押下でエンドポイントにアクセスして動作を確認できる。
-CLIを使用
--ビルドのステータスを確認できる。
>oc get builds
NAME TYPE FROM STATUS STARTED DURATION
eap-app-1 Source Git@46aad91 Complete 6 minutes ago 3m3s
--また、ログで動作の確認ができる。
>oc get pods
NAME READY STATUS RESTARTS AGE
eap-app-1-86dz6 1/1 Running 0 36m
eap-app-1-build 0/1 Completed 0 39m
>oc logs -f eap-app-1-86dz6
INFO: Configuring JGroups discovery protocol to openshift.DNS_PING
Using PicketBox SSL configuration.
Missing SSO_URL. Unable to properly configure SSO-enabled applications
Access log is disabled, ignoring configuration.
Running jboss-eap-7/eap70-openshift image, version 1.7
-Xms512m -Xmx512m -XX:+UseParallelGC -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40
-XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MaxMetaspaceSize=100m -XX:+ExitOnOutOfMemoryError
=========================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /opt/eap
JAVA: /usr/lib/jvm/java-1.8.0/bin/java
***エンドポイントにアクセス [#pb6dba13]
URL : http://eap-app-usertestdrive-nationalparks.XXX.XXX.XXX.XXX.nip.io
#ref(8.png,left,nowrap,手順8,30%)
-ポータルを使用~
リンク押下でエンドポイントにアクセスして動作を確認できる。
-CLIを使用~
以下のコマンドでエンドポイントを確認、コレにアクセスして動作を確認できる。
>oc get routes
NAME HOST/PORT PATH
SERVICES PORT TERMINATION
eap-app eap-app-usertestdrive-nationalparks.XXX.XXX.XXX.XXX.nip.io eap-app <all>
**8 : MongoDBデータベースを追加 [#aef2381a]
ポイント
-永続化:EmptyDirをデータストレージに使用し永続化される。
-環境変数:
--MONGODB_USER
--MONGODB_PASSWORD
--MONGODB_DATABASE
--MONGODB_ADMIN_PASSWORD
***プロジェクトのビルド [#t5023b3f]
-MongoDBデータベースをusertestdrive-nationalparksプロジェクトに追加する。
--ポータルを使用
---[[ポータルを表示する>#zafdc4b2]]。
---[My Projects] -> 「usertestdrive-nationalparks」を選択する。
---[Add to Project]から[Browse Catalog]を選択する。
---「"mongodb-ephemeral" (MongoDB (Ephemeral))」を検索して選択する。
---開いたダイアログの次を押下し[[設定画面>OpenShiftの設定画面#ede6b602]]で接続情報欄を全て「mongodb」と入力する。
---次へで、接続情報のサマリが表示される。
Username: mongodb
Password: mongodb
Database Name: mongodb
Connection URL: mongodb://mongodb:mongodb@mongodb/mongodb
---終了すると、以下のようにデプロイが開始される。
#ref(9.png,left,nowrap,手順9,60%)
--CLIを使用~
・・・
***再配線 [#fd25ede0]
環境変数を使用してアプリケーションとMongoDBデータベースを再配線
-ポータルを使用~
・・・
-CLIを使用
--環境変数を設定する。
>oc get dc
NAME REVISION DESIRED CURRENT TRIGGERED BY
eap-app 1 1 1 config,image(eap-app:latest)
mongodb 1 1 1 config,image(mongodb:3.2)
>oc env dc eap-app -e MONGODB_USER=mongodb -e MONGODB_PASSWORD=mongodb -e MONGODB_DATABASE=mongodb
deploymentconfig "eap-app" updated
--環境変数の変更を確認する。~
dcの「REVISION」がインクリメントされる点に注目。
>oc get dc
NAME REVISION DESIRED CURRENT TRIGGERED BY
eap-app 2 1 1 config,image(eap-app:latest)
mongodb 1 1 1 config,image(mongodb:3.2)
>oc get dc eap-app -o json
"spec": {
・・・
"template": {
・・・
"spec": {
・・・
"containers": [
{
・・・
"env": [
{
"name": "MONGODB_DATABASE",
"value": "mongodb"
},
{
"name": "MONGODB_PASSWORD",
"value": "mongodb"
},
{
"name": "MONGODB_USER",
"value": "mongodb"
}
>oc get rc
NAME DESIRED CURRENT READY AGE
eap-app-1 0 0 0 2h
eap-app-2 1 1 1 10m
mongodb-1 1 1 1 19m
***エンドポイントにアクセス [#a1b90616]
-URL : http://eap-app-usertestdrive-nationalparks.XXX.XXX.XXX.XXX.nip.io
-世界中のすべての国立公園がマップされていることを確認できる。
#ref(10.png,left,nowrap,手順10,30%)
**9 : [[テンプレート>OpenShift#z02ad51f]]の使用 [#f869c572]
-まず新しいプロジェクトを作成して
>oc new-project nationalparks-template
-テンプレートをプロジェクトに追加~
( "metadata": { "name": "nationalparks-eap", ・・・ )
>oc create -f https://gitlab.com/jorgemoralespou/openshift3nationalparks/raw/master/nationalparks-template-eap.json
template "nationalparks-eap" created
-上記、読み込んだテンプレートを使用して[[サービス>OpenShift#l875353c]]を作成する。~
( この際、nameを指定し、GIT_URIを書き換える )
>oc new-app nationalparks-eap --name=nationalparks –p GIT_URI=https://gitlab.com/gshipley/nationalparks.git
--> Deploying template "nationalparks-template/nationalparks-eap" to project nationalparks-template
nationalparks-eap
---------
Application template for MLB Parks application on EAP 6 & MongoDB built using STI
* With parameters:
* APPLICATION_NAME=nationalparks
* APPLICATION_HOSTNAME=
* GIT_URI=https://gitlab.com/gshipley/nationalparks.git
* GIT_REF=master
* Maven mirror url=
* MONGODB_DATABASE=root
* MONGODB_NOPREALLOC=
* MONGODB_SMALLFILES=
* MONGODB_QUIET=
* MONGODB_USER=user6wH # generated
* MONGODB_PASSWORD=EMJQgkSS # generated
* MONGODB_ADMIN_PASSWORD=BfgwtDdJ # generated
* GITHUB_TRIGGER_SECRET=BF5dVxOe # generated
* GENERIC_TRIGGER_SECRET=K1vwlRJh # generated
--> Creating resources ...
buildconfig "nationalparks" created
imagestream "nationalparks" created
deploymentconfig "nationalparks-mongodb" created
deploymentconfig "nationalparks" created
route "nationalparks" created
service "mongodb" created
service "nationalparks" created
service "ping" created
--> Success
Build scheduled, use 'oc logs -f bc/nationalparks' to track its progress.
Run 'oc status' to view your app.
-以下のコマンドでエンドポイントを確認、コレにアクセスして動作を確認できる。~
(エンドポイントが開くまで、暫く時間がかかった)
>oc get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION
nationalparks nationalparks-nationalparks-template.XXX.XXX.XXX.XXX.nip.io nationalparks <all>
**10 : コンテナ内のMongoコマンドラインシェルの使用 [#wf085210]
***[[ポッド>Kubernetes#j268603c]]上のMongoに接続 [#j7d43678]
-ポータルを使用
--[[ポータルを表示する>#zafdc4b2]]。
--[My Projects] -> 「usertestdrive-nationalparks」を選択する。
--[[ポッド>Kubernetes#j268603c]]を選択し、[コンソール]タブからコンソールを表示する。
--bashを使用して、[[ポッド>Kubernetes#j268603c]]内のMongoに接続
>mongo -u mongodb -p mongodb mongodb
-CLIを使用
--接続先のMongoの[[ポッド>Kubernetes#j268603c]]の名称を取得する。
>oc get pods
--bashを使用して、[[ポッド>Kubernetes#j268603c]]上のMongoに接続
---手動
>oc exec -ti mongodb-1 -- bash -c 'mongo -u mongodb -p mongodb mongodb'
---自動(テンプレート)
>oc exec -ti nationalparks-mongodb-1-xf5kn -- bash -c "mongo -u user6wH -p EMJQgkSS root"
MongoDB shell version: 3.2.10
connecting to: root
Welcome http://docs.mongodb.org/
Questions? Try the support group".
For morehttp://groups.google.com/group/mongodb-user
***Mongoコマンドラインシェルを実行 [#bb1c9e29]
-データベースに追加された国立公園の数を数える。
>db.parks.count();
2740
-jsonドキュメントを表示することもできる。
>db.parks.find();
{ "_id" : ObjectId("5b16032bf7c92700991bca3b"), "countryCode" : "ZW", "countryName" : "Zimbabwe", "pos" : [ -18.62987, 27.02104 ], "name" : "Hwange National Park Airport", "toponymName" : "Hwange National Park Airport" }
・・・
*[[セカンド・ステップ>OpenShiftセカンド・ステップ]] [#h09e1e82]
*参考 [#jcb9f653]
**世界のやまさ [#d9fbe3c6]
-Microsoft Azure Test Drive で Red Hat OpenShift が無料ですぐに試せた。~
http://blog.nnasaki.com/entry/2017/05/15/060000
-すべての製品 – Microsoft Azure Marketplace > アプリ >~
Red Hat OpenShift Container Platform > 体験版 > ユーザー マニュアル~
https://ctlabmgrstatesn.blob.core.windows.net/b6650c77787145419eb0f71f69f81048/user-manual.pdf
**銀の光と碧い空 [#j8dc2a6f]
-OpenShift で .NET Core 2.0を使いはじめる~
http://tech.tanaka733.net/entry/2017/09/06/OpenShift_%E3%81%A7_.NET_Core_2.0%E3%82%92%E4%BD%BF%E3%81%84%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B
***Red Hat Customer Portal [#jba12ca3]
-Getting Started Guide~
https://access.redhat.com/documentation/en-us/net_core/2.0/html/getting_started_guide/
-Chapter 2. .NET Core 2.0 on Red Hat OpenShift Container Platform~
https://access.redhat.com/documentation/en-us/net_core/2.0/html/getting_started_guide/gs_dotnet_on_openshift
--2.1. Install Image Streams
--2.2. Deploy Applications
--2.3. Configuration
--2.4. Sample Applications
--2.5. Create a Runtime Image
**その他 [#zb45a00b]
-Announcing .NET Core 2.0 Support for OpenShift – OpenShift Blog~
https://blog.openshift.com/announcing-net-core-2-0-support-openshift/
-Developing .NET Core 2.0 Web Applications on OpenShift - RHD Blog~
https://developers.redhat.com/blog/2017/11/22/developing-net-core-2-0-web-applications-openshift/