Slide 1

Slide 1 text

IBM Dojo !"#$%&'()*+,-.,/,0123456789: Aya Tokura Developer Advocate Tokyo City Team 2020/09/23

Slide 2

Slide 2 text

!"#$%&'()*+,-.,/,0123456789:; <=>?@,A,BCD,-?@CECFGHIJ KLM6N1OPQRIST$T slido.com #dojo0923

Slide 3

Slide 3 text

@ayatokura ;<=>?@A=BCDEFGH-IGJ,K,LMN,-GOPKMQR/,CSTU VWX5YZ[8\]^_`abc_def#"gh& ijklmZnopY9:q5rstuvw"xyU z{|}Aya Tokura~ Sr. Developer Advocate IBM ÄÅ5ÇÉÑÖCÜyáà

Slide 4

Slide 4 text

学習の⽬的とゴール ⽬的 コンテナの概要と利⽤⽅法について理解する ゴール IBM Cloud Kubernetes Serviceを利⽤した Webアプリケーション+DBを構築できる このコースを学ぶ⽅の想定スキル IBM Cloud上でコンテナ実⾏環境を初めて利⽤する⽅

Slide 5

Slide 5 text

1. [!"]![#$%&']()*+),- 2. [#$%&'./]()*+),- 3. #$%&'0123(45,- ´IBM Cloud1¨k8\≠ÆsØ∞ìî6 ±Bs≤5i67≥2ûÇ¥µsñ∂∑$∏πêûôU ! UVWXYZ[\]^2_`9a ! bcde73789fg2_`9a

Slide 6

Slide 6 text

728&'9:; IBM Cloud <=#)>?:@AURLBCDEFGHIJ ibm.biz/dojo0923 ! IBM Cloud KL2& #$%&'(,9MNOP=Q:; RPCBCKL2&SFGHIJ ! IBM Cloud T2'#$%&'UV #$%&'(NOP9WJQ:; XYZ(N[JS\, ´±BsÉ∫ñ6

Slide 7

Slide 7 text

IBM Cloud CLI Z8°\5rªsØ∞ IBM Cloud CLI]^_`&=45 ibmcloud -v IBM Cloud CLI Plugin =45 ibmcloud plugin list abc de=f^)g`+39:hA=2i=IBM Cloud CLI Plugin(jkS\, container-registry container-service/kubernetes-service

Slide 8

Slide 8 text

1. l@=[IBM Cloud]()*+)S; mn+gop^qr(ab 2. n+gop^q=[*s^?=tu]= vhMabIwx[Clusters]()*+) 3. *s^?0*?'=[Clusters]= Xyz9UVSx)T?1{= [|}](45,- ´Kubernetesij°ºsΩæØ∞ìî6 ! Kubernetes)T?1UVMN~(u20ÄÅÇ)(t,-xÉ; f^)g`+3ÑÖ\-ÅMUV(N[JS\,Ü ! Kubernetes)T?1=áàNâä|ã=45Qå:hA=çé9,Ü

Slide 9

Slide 9 text

ø¿%õij°º∏¡¬√ûƒö†åsØ∞

Slide 10

Slide 10 text

2. èêë@=[Actions]![Webíì] =îM)*+),-Ü 3. [2&?'^ï]()*+),-Ü ñóÇ:òôö=[Webíì]p1& âéjkõú9,Ü ´Kubernetes Webº5WXrs≈∆ìî6(ù3g`&) ! Kubernetes Web1^ûüï=2&?'^ïMN~(u10ÄÅÇ) (t,-†°Ñ¢é\,Ü ! Kubernetes)T?1=áàNâä|ã=45Qå:hA=çé9,Ü 1. *s^?0*?'=[Clusters]= Xyz9UVSx)T?1£§= •^_(ab,-Ü

Slide 11

Slide 11 text

⽬次 1. コンテナテクノロジーとは 2. IBM Cloud Kubernetes Service の始め⽅ 3. Kubernetesを活⽤したアプリ開発体験 4. おすすめ情報

Slide 12

Slide 12 text

1. コンテナテクノロジーとは なぜ「今」 コンテナ/Docker/Kubernetesなどの テクノロジーが注⽬されているのか

Slide 13

Slide 13 text

é8nXÿŸs6°n⁄ €82‹ or ijkl hi HA1 QA-HA1 DEV#1 hi HA2 QA-HA2 DEV#2 Storage Disk Array Tape Library Equipment 6°n⁄›ófi °5fl5‡Z· 9:fi 6°€‚ ß®ëí °4…„5r ß®‰Â fl≥ÊÁí ËÈÍÎÏ V§„3no Ê„5Ì8Ó ÔÒÚÛ_Ùıˆ˜ ¯˘ 123˙…7p˚í ¸˝˚í ¯˘˛\sˇ£ ø!†" ß®#!Íñ $%l§„&8\å'(ãœ)* C+ö6°n⁄9:,˚í 123˙…7p˚í é8nXÿŸs -./s0œ(!øa ITIL12s!34"ø¿

Slide 14

Slide 14 text

ITsé8nX5a678"9ãC:; 123 é8nX V1.2 123 é8nX V1.1 <=>? n°\ 123 é8nX V1.3a 123 é8nX V1.3b @3‡3˙flZ2jZ8 ±A B5C° 9:D 9:D 123 123 123 123 @[Å≥fl5 @[Å≥fl5 n°\E8…Ì1 SRE FGCHÁI◊∑õ JKsé8nX ˆL6°n⁄ CMNö†å∏ûüö https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A#/media/File:Dol e_container_is_placed_onto_a_truck.jpg

Slide 15

Slide 15 text

コンテナテクノロジーの特⻑ 1 起動が早い • ホストOSからみると、プロセスが⽴ち上がるだけ • スケールしたときにもすぐにアプリが⽴ち上がる 2 冪等性が保たれる • Infrastructure as Code により、環境構築の⼀連の作業をコード化できる • Immutable Infrastructure により、何度実⾏しても同じ環境が再現される 3 ポータビリティー性がある • アプリの実⾏に必要な依存関係をすべてパッケージングできる • Dockerエンジンが動く環境ならどこでも実⾏できることが保証されている べきとうせい

Slide 16

Slide 16 text

"#$%&'$()*+$,'$( —e¢f68”å—é8nX” ghihttps://docs.docker.com/engine/docker-overview ! jk‹[rse¢I ! RH¨5mr"lm ! e¢f68nåCop ! RH‹[rse¢I ! RH¨5mr"qm%_2ÅV°å%&r# ! 2ÅV°"Ór52I%&op

Slide 17

Slide 17 text

JMQ’,-"stõ9:su∑ JMQ’,-vwL, JMQ’,- Z&5… é8nX5 ‹…°\3 πêœ ˇ£"µx 9:fi é8nX5 Z&5…ø¿ Z&5…s ]y 9:fi 123¶x 1239:

Slide 18

Slide 18 text

é8nX5sz5ºC3no å JMQ’,-Gj{E ! é8nX5sz5ºC3no -JMQ’,-GZ&5… ! 12345678|}Cπêœ_`~Zr" fl≥45…8Óûüö ! óB5‡5CÄ£◊∑œñ Å \h15§niÊÇsß®ûƒ∑É z5ºC3no∏`уö ! JMQ’,-Gj{E !"#$%& '()*+, -"./0 !"#$%& '12345", -"./0 6 2 # 7 8 2 9 2 :;;< =>?@A>B C :;;D =>?@A>B C :;;E =>?@A>B C —Ösß®ûÇ#ñõ” Üá∏:à%œñ !"#$%&'()**'FGG;H !"#$%&'()+,'>IJCF>?J@KLJ;; !"#$%&'()**'-%.+(,%&%/*0.%&12 â0œ[8ä5∏ãåôö é8nX5Z&5… }˛3„5678~s¨ºÅÓ 6 2 # 7 8 2 9 2 :;;E =>?@A>B C

Slide 19

Slide 19 text

é8nX5ß®CÉWö6°n⁄9: !Infrastructure as Code sçé - ß®úùsYZsøaÇ Dockerfile Cé5lI

Slide 20

Slide 20 text

コンテナのはじめ⽅ n CNCFの Cloud Native Trail Map を参照 1. コンテナ化 • ⼀般的には Docker コンテナで実施 • いかなるサイズのアプリケーションも依存性もコンテナ化可能 • 時間が経つにつれ、アプリケーションを分割し マイクロサービス化したくなるだろう 2. CI/CD(継続デリバリの仕組み) • 継続インテグレーション・継続デリバリの仕組みをセットアップ • コード変更が 新しいコンテナ・イメージとして、 ⾃動的にビルドされ、テストされ、デプロイされるように 3. オーケストレーション&アプリ定義 • 互換性試験に合格している Certified Kubernetes 環境を選択 • もっとも複雑なアプリケーションであっても HELMで 定義して、導⼊して更新していくことが可能

Slide 21

Slide 21 text

é8nX"'(CÇ !JMQ’,-G≥sBZ\$S¡¥äk8Å5lôö - https://www.docker.com/products/docker-desktop - docker for Mac / docker for Windows !JMQ’,-GCïñ&'( -http://docs.docker.jp/index.html ! mµC+! JMQ’,-sl§„&8\∏ B±∂I◊∑&ñ∑ô ! ∑∏Ç JMQ’,-vwL, "ñdï$4ñ&"∑%πyà

Slide 22

Slide 22 text

3. IBM Cloud Kubernetes Services ™ì ∫%ªº(PAYG)∑õÇBp°i32678s1¨k8\ https://cloud.ibm.com/docs/account?topic=account-accounts&locale=ja

Slide 23

Slide 23 text

./ }9xM =ïsΩ5lkæ1‘RHC ˜p◊∑õøú"ø¿% øúnåC¿œöRHß®"ãå ¡ ±¬O√YƒF≈R-,œÜå\h ëí~ìî

Slide 24

Slide 24 text

.0 @Cïñ,- ±w.*∆CÉñ& }9xMóò "ãåôö Öôöeadv9õ6ú s ˛\kæ1

Slide 25

Slide 25 text

)*+,-.,/,0 )*+,-.,/,0 ùû1@Cïñ,-óò"ü†°¢%&ûst å65daç6789£§6•

Slide 26

Slide 26 text

IBM Cloud Kubernetes Service (IKS) rfm5…lœ)*+,-.,/,0"nãå be¶ß®st ˙ä≥6„«5lù» ˙Æ…s‡5…78ãå 793•©™´ ˙»5l … ˙ëíôöf68°‚≥i ˙e¢B5‡5_[1&ºr ¨≠≠ÆØ∞ ˙k8ssAPI_q5r ˙kubectl"stõÀø ±≤§6•≥â ˙ÅÓÃÕ ˙ŒÌº38Ó ¥µ©b6wd∂∑ ˙Watson ˙IoT ˙DatabaseœÜœÜ G∏Kπ∫2© ˙œ–ò1l‡Z·5 ËÁ—œˇ£åœ–ò"“g ˙Z&5…”‘ ˙ ¶xõs’÷Êæ≥i

Slide 27

Slide 27 text

°45r1k\ z365[5°ûsôíò Ô˜◊ Å5r1≥2@5\ m≥\≤5i›ó ÿ°°\‹5…›ó è¬{‘F,ŸM-⁄G3˛5°›ó )*+,-.,/,0

Slide 28

Slide 28 text

Kubernetess15§niÊÇsZ&5… ó¢Ω€Cœö+y êMP,•sé8nX"›ó ø¿%õé8nX5ÇêMP,•Cˆ‹ ›ófi ›5·5

Slide 29

Slide 29 text

!"#$%#&'"(% )*+,&-./01/2 Pod }9xM#® 1ª1NodeºΩæ1}9xM"#®

Slide 30

Slide 30 text

!"#$%#&'"(% )*+,&-./01/2 Pod Kubernetes °¢ø1}9xMóò !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 )*+,-.,/,0?e¿dv6 ΩæNodeº Kubernetese¿dv6"¡¬

Slide 31

Slide 31 text

!"#$%#&'"(% )*+,&-./01/2 Pod !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 )*+,-.,/,0?e¿dv6 zt}9xM©Q√kzsƒ≈∆Nodeº«}9xMß%® Kubernetes °¢ø1}9xMóò

Slide 32

Slide 32 text

!"#$%#&'"(% )*+,&-./01/2 Pod !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 )*+,-.,/,0?e¿dv6 ztNode©Q√kzsƒ≈∆Nodeº«}9xMß%® Kubernetes °¢ø1}9xMóò

Slide 33

Slide 33 text

!"#$%#&'"(% )*+,&-./01/2 Pod !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 )*+,-.,/,0?e¿dv6 Pod »¶a…6eº≈ ÀIP"ÃÕŒ&œ#–— “) Pod »¶a…6e 10.1.0.x .10 .11 .12 .13 .14 .15 .16 .17 .18 .19 Kubernetes °¢ø1}9xMóò

Slide 34

Slide 34 text

fÌæ°\~ZrûΩ€fifl }M~ ! é8nX5Z&5…LJ ! é8nX5s…LJ ! πêœè¬{‘F,ŸM-⁄LJ ! ·‚1iV°sõ™C9dz5\LJ

Slide 35

Slide 35 text

!"#$%&'()*+,-.,/,0123456789:; 1845\Cn„*É∫ñ‰%∑ôU slido.com #dojo0923

Slide 36

Slide 36 text

3. Kubernetes "fí%õ1239:ÀÃ ibm.biz/dojokadai1

Slide 37

Slide 37 text

Lab 0 – 0. ÀøsÂÊ (1) “ÁÇZ8°\5rËêspjk·5[5° IBM Cloud Shell"ëí%∑ô DEFGèLM*PGä≥6„«5lËÈÍ•Cˆ‹◊∑&ñö —DEFGèLM*PGHÎ,LL”1Zé8"i3≥i%&dV◊ñU

Slide 38

Slide 38 text

Lab 0 – 1. 操作の補⾜ (1) IBM Cloudにコマンドからログイン時に リソースグループの指定が必要な場合 ibmcloud target –g <リソースグループ名> 例 ibmcloud target –g Default IBM Cloudのリソースグループ名は [管理]→[アカウント]→[アカウント・リソース] から確認できます。

Slide 39

Slide 39 text

IBM Cloud CLI$Sø¿%õIKSij°º3°\ "ÓÔôöìî ibmcloud ks cluster ls Lab 0 – 2. ÀøsÂÊ (2) abc

Slide 40

Slide 40 text

IBM Cloud CLI Plugin container-service/kubernetes-service (v1.0.8以降) または IBM Cloud Shellを利⽤時︓ Kubernetesクラスタへの接続情報を取得するコマンド ibmcloud ks cluster config --cluster <クラスタ名> Lab 0 – 2. 操作の補⾜ (3)

Slide 41

Slide 41 text

Lab 1 – 1.の4 操作の補⾜ (4) IBM Cloud Shellを利⽤時︓ KubernetesのPort番号を確認 KubernetesのワーカーノードのパブリックIP アドレス取得 Kubectl get service guestbook ibmcloud ks worker ls –cluster <クラスタ名>

Slide 42

Slide 42 text

ø¿%õij°ºs˘˙ìî Clusters 4”6d4da JÑëí%&ñöB5C°∏Ø∞ûü∑ôU ˚B5C°Í¸s}˙˙˙~$S˘˙%&dV◊ñU i3≥iôöå_ÿ¥s &Ì„5∏ÓÔ◊∑˝Õ Y˘˙∏ûü∑ô

Slide 43

Slide 43 text

˛IGÉôô™ÕŒ Ò 9:fiˇWBZ\IBM Developer ibm.biz/IBMDevJP H¶ÕŒY°§r1≥2C/Tï!"<<<"#Nötuµ$"ãå

Slide 44

Slide 44 text

46 https://ibm.biz/ibmcodejp ò% &G@Œ#Ë &G˛5°é5l∏'tõ1239:flº58Õ IBM Code Patterns

Slide 45

Slide 45 text

免責事項 IBM Developer Dojoは開発者の⽅を対象に、IBM Cloudを主とした技術情報をお伝えする⽬的で開催しています。 講師や運営スタッフにより、開催毎に最適と判断した内容でお届けしています。 現在、ハンズオンを伴う講義はお客様の費⽤負担がない環境と⼿順でご案内しています。講義終了後、不要に なりました制作物はお客様ご⾃⾝で削除をお願いいたします。クレジットカードの登録が伴わない場合、費⽤は ⼀切発⽣致しませんが、ご登録いただいたお客様はご注意ください。 講師陣はみなさまの利⽤状況を個別に確認することはできません。 ご理解とご協⼒をお願いいたします。 利⽤したサービスの削除⽅法については講義の中でご案内します。 ご不明な点がございましたら、当⽇確認をお願いいたします。 講義終了後、 IBM Developer Dojoに関するお問い合わせは「Slack」にお願いします。それ以外のIBM Cloud のお問い合わせにつきましては、弊社サポートセンターまで、次のいづれかの⽅法でお問い合わせください。 IBM Cloudダッシュボードの「サポート」メニューから「Case」を作成し、英語でご記⼊ください IBM Cloudサポートセンター「相談する」ボタンからチャットまたは電話でご連絡ください https://www.ibm.com/jp-ja/cloud/support ご参加ありがとうございました。

Slide 46

Slide 46 text

!"#$%&'()*+,-.,/,0123456789:; 1845\Cn„*É∫ñ‰%∑ôU <=>?@,A,BCD,-?@CEC ÿŸs⁄º%r slido.com #dojo0923 !"#$%&'()*+,-.,/,0123456789:; !"#$%&'()*+,-./01 <=>?@,A,BCD,-?@CEC FGHIJ%K slido.com #dojo0923