Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IBM Dojo: OpenShift4.3 + Watson アプリ開発体験 / OpenShift_Watson

IBM Dojo: OpenShift4.3 + Watson アプリ開発体験 / OpenShift_Watson

【オンライン】IBM Dojo: OpenShift4.3 + Watson アプリ開発体験
https://ibm-developer.connpass.com/event/171639/
・本日のセッション資料です
・IBM Cloud無料ライトアカウントはこちらから
https://ibm.biz/dojo20200408

Aya Tokura

April 08, 2020
Tweet

More Decks by Aya Tokura

Other Decks in Technology

Transcript

  1. IBM Developer Dojo OpenShift 101  (Yasushi Osonoi) Sr. Developer

    Advocate Developer Advocacy Tokyo Client Team, IBM @osonoi  (Aya Tokura) Sr. Developer Advocate Developer Advocacy Tokyo City Team, IBM @ayatokura #IBMDojo #OpenShiftWorldTour
  2. ˜¬µ-(!&#. # '!"#'!%  C)2& )75.626*<*&,2.6,.  5+*;;*-7:; C‘¾Š¦œ»¿£ˆC‡¾‰‡ÄšC™º­ÄŹÉÇó PŁǏ

    .>%.4ŒÄ™¨‡¯ÁĦ¿Gpofzq ŏǙ ǧǞÑ PljÕúNJĵÐ &7/<?*:..;206K(2;=*4&<=-277-. ǔƩÚńL ŧſƛŚÑ @ayatokura ¯ÂGAƝƉ¿‘Œš¥rWēƻpE
  3. #  IBM Developer Advocacy Group, Client Developer Advocate '

    https://qiita.com/osonoi (Qiita) https://blogs.itmedia.co.jp/osonoi/ (IT Media) Twitter: @osonoi Facebook: @osonoi !  “osonoi” "$  
  4. City Leader AKIRA ONISHI City Team TAIJI HAGINO KYOKO NISHITO

    AYA TOKURA NORIKO KATO Program Manager TOSHIO YAMASHITA Client Team YASUSHI OSONOI JUNKI SAGAWA DEVELOPER ADVOCATE in TOKYO Tokyo Team is a part of Worldwide Developer Advocate Teams!
  5. ü コンテナは仮想マシン(VM)に⽐べてリソース効率がよい ü スケールアウトが簡単 VM(仮想マシン)とコンテナ VM(仮想マシン型) コンテナ型 システム基盤 ホストOS 仮想化層

    ゲストOS ゲストOS ゲストOS Bin/Libs Bin/Libs Bin/Libs App1 App2 App3 システム基盤 ホストOS コンテナ・エンジン Bin/Libs Bin/Libs Bin/Libs App1 App2 App3
  6. •Ä£§„ŃifôÙqť‚ 7,3.:/24.on 7,3.: ‰¸G™on •Ä£§ Á™š¥¿ µ¨¯‹š¥l •Ä£§Ôõq ǜƲ„ĵƘ ôÙÒ

    •Ä£§ ‰¸G™ĶĒ ‰¸G™q ƣƏ ôÙÒ ‡±¿÷Î ‡±¿ôÙ Ɨƨq±Âœš
  7. docker„ŃifƋ ğý Build Docker Runtime Gš} ųĒijġ åç¿´™¥¿G •Ä£§C‰¸G™ Pull

    run/exec dockerHub dockerHub •Ä£§ dockerHub ŽÄ¾‰ÄËpGd+T„ùŷ`kW[PmY\jTUZhqRƕlbB ƒFo‰¸G™qĆıAÔĶ‰¸G™qùŷYlZwbB DockerqǒĶrAķƊ_‚kTDocker •µÄ¦ICLIJ„ńý`wbB¼G—GrA įpoDocker image„•Ä£§øb]mlA‡±¿“G˜½Äm`kğýb] mYlZwbB
  8. コンテナレジストリ Container Registryはコンテナ・イメージを保管しておくための領域であり、Docker Hubはそのうちの ⼀つです。Container Registryは様々な種類があり、環境・⽤途によって使い分けが可能です。 種類 概要 例 Docker

    Hub 様々なイメージが保管・公開されている。 公開されているイメージを取得したり、作成したイメー ジを保管したりすることができる。 料⾦を⽀払うことで、privateなレジストリとしても利⽤ 可能。 - クラウド・サービス 様々なクラウド・ベンダーなどが提供しているサービス。 各ユーザーのPrivateな領域として利⽤可能。 料⾦によって、サイズやアクセス回数の制限がある。 IBM Cloud Container Registry Amazon ECR GCP Container Registry Azure Container Registry OSS ユーザー固有の環境に独⾃で作成するRegistry。 環境・導⼊作業などは必要だが、基本的に⾃由に利⽤可 能。 NEXUS OCR (OpenShift Container Registry) また、各イメージはContainer Registryに作成された領域であるリポジトリ内に保存され、形式は下記の通りです。 <リポジトリ名>/<イメージ名>(:<tag>) (例: ibmcom/websphere-liberty → ibmcomリポジトリ内のwebsphere-libertyイメージ)
  9. dockerコマンド操作 イメージをdocker hubからpull > docker image pull gihyodocker/echo:latest イメージをコンテナ化して実⾏ >

    docker container run -d -t -p 9000:8080 gihyodocker/echo:latest -d:バックグラウンドで実⾏ -p:ポートフォワーディング コンテナを停⽌ > docker container stop <コンテナID> コンテナを削除 > docker container rm <コンテナID> イメージを削除 > docker image rm <イメージID>
  10. dockerコマンド集(主なもの) 概要 コマンド オプション イメージ取得 image pull {image}:{tag} イメージビルド image

    build {image}:{tag} イメージ⼀覧 image list タグの付与 image tag {image}:{tag} {image}:{新tag} イメージ削除 image rm {image id} コンテナ起動 container run {image}:{tag} -p {host port}:{container port} ポート公開 -d バックグラウンド起動 --rm 停⽌時にコンテナ削除 コンテナ⼀覧 ps -a 停⽌状態含む全てのコンテナを取得 コンテナ停⽌ container stop {container id} コンテナ削除 container rm {container id} コンテナ内でコマンド実⾏ container exec {container id} {command} -it インタラクティブに操作 ステータス確認 stats --no-stream ⼀回のみ表⽰
  11. •Ä£§GqĻý÷Îmŷü„ÎUJ+OUZj+Sfm¢GÀ ! •Ä£§GYÆƃpoik[m€:5D>3|w„¬G ! džĚq7,3.:³š¥qŷü ! ūńŤŶ ! š“™»G¿Ä’ !

    š“G¿Ä’ ! ƠŠàq¿¬¿G ! ‡±¿÷ÎpŖċoGm`ghV+UE€ ! ƫĕäoš¥ÁG™ ! ©¡¥ÃG‘ ! ‘Á¤Ä˜ºÀijġ .<,H ! ²{‡z¹¤À ! KSvZũŰL„ĵƘbmAe‚„÷Ĕ`ĕ\~Um`k[‚ ! ƠŠà{ÔĂlƆǁĶ̈́÷Ŋ Kubernetesqœǐ
  12. KuberneteslƮVkWZfTǡƀ ReplicaSet Pod„ŷübfzqãű - PodqŖċǢƜ̄ãű - K8Sq Scheduler YnqªG¦p‡–‰Ä bXr

    - ĺNj`k[‚ $7-$ !"#!#$"%#&' !"#!#$"%#!!" ªG¦ ªG¦ "%  ”„‹2  ‰r 
  13. KuberneteslƮVkWZfTǡƀ Node Port &# %$†X '$ $l‡‘ œšbfzqãű &‘¾šžålq…=>Cb+ZY‡–‰Ä _‚

    &‘¾šžqnqªG¦X‡‘œš`k{ Ĉǥ–G®špÀG£ˆÄ’_‚ $7-$ !"#!#$"%#&' !"#!#$"%#!!" ªG¦ ªG¦ "##$# "##$#
  14. OpenShiftq`[x  €Šš‚[t !x8yiV~…ŽmUehŒ“š~xD3`qb  !$p,;4m$%*mIQ_whXv‹›“™3J’|~˜# x/-`qb  /-`c‹›“™oD3mUehV "%*m<7_whXv

    !oƒ›‹~•‡x !%`qb  ~…ŽiD3_wcE2rMLlkxBN`h~•‡x%oYZV!$o56™‡ˆ —m!%#`qb  A]fg]V!$p‹›“™oDGmUeh~•‡œˆ—”x! mŒ“š~bvsY  #o!$  $" "mDG`qb  =1m#"&r" %$xK?`h>6–…\}‰ˆi]vsYm`qb K8s ‰¸G™Cš¥¿G· ¼G—G dockerHub Githubư åçÁ™š¥¿G ğý Build Deploy Sof integrated docker registry. ƒ›‹~•‡x‘˜Ž`h9+Œ“š~bvVjXY@p  "o0j.aibnWcd` #FR*i;[b^ji ƒ›‹oH:Pu\OT4mSCmlehqbW
  15. Build Deploy K8s Runtime Gš} ųĒijġ ‰¸G™Cš¥¿G· ğý Build run/exec

    Docker Runtime Gš} ųĒijġ åçÁ™š¥¿G ‰¸G™ ¼G—G Pull dockerHub Githubư åçÁ™š¥¿G ğý " ƵqKubernetesqƖŜǖǀ ! dockermOpenShiftqšüqť‚qÞŦ
  16. OpenShiftuqÝìrƒFo­žGÄYS€wb K8s Deploy Dockerhubư Build docker Á™š¥¿ Dockerfile Gš•G¦ (Java,

    js, Py..etc) Catalog template (JSON/YAML) S2I Build Githubư file clipboard (folder) MDockerfile,Gš,TemplateqōZØđN Ąô_‚kT‰¸G™„eqww ƀĭy ÔĶ‰¸G™„Ć€ĭy (OpenShiftËlBuild) ǝƙ‰¸G™pGš„ź Ý ļƔ÷Î žÂ’pƣ Ə DevOps Pipeline ‡±¿}¶¦ÀŠŒ‡mTifļƔäoG šlro[A‡±¿}¶¦ÀŠŒ‡„ OpenShiftËnUĂXbXAmTUųĒ/ãű Ƨ„ǦƑm`kĵƘ`f{qlb OpenShiftuqƒFoÝìq­žGÄ
  17. OpenShiftコマンド操作 OpenShiftへログイン > oc login -u <ユーザーID> -p <パスワード> プロジェクト新規作成

    > oc new-project <プロジェクト名> アプリケーション作成 > oc new-app <コンテナイメージ> アプリケーションを公開 > oc expose svc/<アプリケーション名> アプリケーションを削除 > oc delete all -lapp=<アプリケーション名> プロジェクトを削除 > oc delete project <プロジェクト名> OpenShiftからログアウト > oc logout
  18. OpenShiftコマンド集(主なもの) 概要 コマンド オプション ログイン oc login -u developer -p

    hoge ログイン oc login -u developer -p hoge プロジェクトの作成 oc new-project <project-name> プロジェクトの作成 oc new-project <project-name> アプリケーションの作成 oc new-app <app-name> アプリケーションの作成 oc new-app <app-name> サービスの公開 oc expose svc/<app-name> サービスの公開 oc expose svc/<app-name> ステータス表⽰ oc status ステータス表⽰ oc status オブジェクトの詳細表⽰ oc get all オブジェクトの詳細表⽰ oc get all デプロイメント構成(dc) の詳細表⽰ oc describe dc open-liberty デプロイメント構成(dc)の 詳細表⽰ oc describe dc open-liberty アプリケーション⼀式の 削除 oc delete all -lapp=<app-name> アプリケーション⼀式の削 除 oc delete all -lapp=<app-name> プロジェクトの削除 oc delete project <project-name> プロジェクトの削除 oc delete project <project-name> プロジェクトのリスト oc projects プロジェクトのリスト oc projects ログアウト oc logout ログアウト oc logout ログイン oc login -u developer -p hoge ログイン oc login -u developer -p hoge プロジェクトの作成 oc new-project <project-name> プロジェクトの作成 oc new-project <project-name>
  19. OpenShiftrAKubernetesmqnjƤЄƼģ`oYACICDąŀ„ďøAôÙÒpÿƒikA®À¦A ¿´™¥¿ƣƏA¤±Â‰„ÔĂ÷Î`wbB KubernetesmOpenShiftqŻT OPENSHIFT ąŀƢž OpenShift CICDğý ‡±¿“G˜½Ä I•Ä£§J Kubernetes

    ‡±¿“G˜½Ä I•Ä£§J Ubuntu / CentOS… Linux Kubernetes ‡±¿“G˜½Ä I•Ä£§J •Ä£§ ¾Äž‰· KubernetesqƥŒąŀ lųDž`f‡±¿“G˜½Ä nhl{ ĂĶŢŀ RHEL / RHCOS •Ä£§ ¾Äž‰·
  20. • Node-RED on OpenShift Workshop starter (日本語版) https://qiita.com/yamachan360/items/786f70cb532443f38c16 • RedHat

    Japanのハンズオントレーニング ⽇本語訳 複数コンテナの連携: https://github.com/osonoi/minishift/tree/master/lab1 様々なデプロイメント⼿法: https://github.com/osonoi/minishift/tree/master/lab2 追加ハンズオンワークショップ
  21. • OpenShiftは、Kubernetesに、Red Hat社独⾃の拡張を加え、さらに、Red Hat のソフトウェア保守とウェブや電話での問い合わせ対応 サービスを提供する企業向けKubernetesのプラットフォーム • OpenShiftは、Red Hat社が提供する有償サービス(サブスクリプション)のもとで 利⽤できるソフトウェア

    • OpenShiftの学習やローカルの開発環境⽤に無償で提供されるのが、Minishift (OpenShift 3.11に相当) 「MiniShiftに関する疑問の整理、「 Dockerから⼊るKubernetes」執筆打明け話とか、OKDやCRCとの整理など」 https://qiita.com/MahoTakara/items/3c1c208640518e832660 より抜粋 Appendix: Minishift とは
  22. Setup 1 「仮想化環境を構成する」の⽇本語版はこちら」 • Windows: ibm.biz/Bdz39H • Mac: ibm.biz/Bdz39E Setup

    2 MinishiftのインストールおよびOpenShiftサーバーを開始し、 Lab1から順番に進める。 ibm.biz/openshift1 Appendix: Minishift ワークショップ101
  23. 2020 Call for Code Nk+^i*WejmT ðéq£Gµr/ˆª•ƒ0m/COVID-190 ! IBM Cloud„ńý`f‡±¿ôٕģš¥ !

    KÌƹĜ\LmK!.:Ĝ\LpôƯ 4/27 (v) q­ #(  ŵĉDŽł 3/22 (n) ŞǍęŋ ôŇ ŲĘĉâ 8,9v 10v ćʼnƿƾ G·Ùă 6/30 (©)  # ŞǍęŋ ćŎDŽł 7/31 (s) q­ ŞǍęŋ ćŎDŽł !7:87:*<276meqñÉAe‚YđŅbæÇÑq OěËW~tA %.-*<6, meqbvkqæÇÑrKÌƹĜ\L*44/7:7-.  pr śĞlZwc…ql^źč[g_TB!Ñórǜ`[rÑå?–‰¥lB #CallforCode