Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
dz}#&?:? ¦R̼Î{052½ÍR¤ËÒ $D25A>5C5BxƉǟm Aya Tokura Developer Advocate Tokyo City Team
Slide 2
Slide 2 text
IBMInternet 無線LAN アクセス 無線LANのご利⽤およびワークショップの際は Firefoxブラウザをご利⽤ください。 お配りしたユーザ名とパスワードを⼊⼒して 「利⽤条件に同意」いただき、サインオン してください。 ログインページが表⽰されない場合は、 Webブラウザで http://www.research.ibm.com サイトにアクセスしてください。 iPhone での表⽰例
Slide 3
Slide 3 text
本⽇のタイムテーブル 14:00-14:05 (5min) オープニング 14:05-15:00 (55min) 冬のIBM Dojo #2 スケーラブルなWebアプリケーションを Kubernetesで構築する <座学> ⽇本アイ・ビー・エム株式会社 デベロッパーアドボケイト ⼾倉 彩 15:00-17:00 (120min) Kubernetesチャレンジ <ワークショップ> ⽇本アイ・ビー・エム株式会社 デベロッパーアドボケイト ⼾倉 彩 17:00-17:30 (30min) クロージング
Slide 4
Slide 4 text
学習の⽬的とゴール ⽬的 コンテナの概要と利⽤⽅法について理解する ゴール IBM Cloud Kubernetes Serviceを利⽤した Webアプリケーション+DBを構築できる このコースを学ぶ⽅の想定スキル IBM Cloud上でコンテナ実⾏環境を初めて利⽤する⽅
Slide 5
Slide 5 text
ayatokura ŻǑ Ȃ (Aya Tokura) IBM Sr. Developer Advocate ¨Ä³R¾Ò±ƶȄJNJÞǨƾJǴǪŘĔþlwJ Ąëã}ñQ| IBM Cloud Watson}żƖȁȇß_K
Slide 6
Slide 6 text
ŰÞVŻǑȂW ¯´Î̪R æǿǹ Software Design ČǤVVisual Studio Code ǯǁìŘW
Slide 7
Slide 7 text
m.BM= IBM Cloud "-287 P~URL ({ ibm.biz/dojo20200122 ! IBM Cloud K3.M -1/M=, hi ( (K3.M ! IBM Cloud H.=-1/M=Sg -1/M=, hi t, % XØÓ}aǧ^
Slide 8
Slide 8 text
áóũŲ}iśņ ZÑR¤Ë½x~ŚǚÒ±ŗďkmcJŸŞǝ÷xʼnÞkmK ƼuwJĀú}ŚǚÒ±}½ÏR²JÑR¤Ë½űĭ|uw ĮďŞàcƧňjhy~]o ibm.biz/IKSdojo ! PayG Ò±ƶƣ ! 9A56?G¼Ì£Ò¦±RÎ ! IBM Cloud CLI Ò¦±RÎ ! IBM Cloud Kubernetes Service ʼnģ
Slide 9
Slide 9 text
1. [wr]![-1/M=],2I<2* 2. [-1/M=`],2I<2* 3. -1/M=N:.A,u* X#&
Slide 10
Slide 10 text
1. aP[IBM Cloud],2I<2 ;<5FDO>,|v 2. ;<5FDO>[I9O7}x] Q|v+[Clusters],2I<2 3. I9O7NI7=[Clusters] zSg2H7:Z [qn],u* X$D25A>5C5B̦ª}žƪśņñā ! Kubernetes2H7:Sg k(x20UWb),}*& LO25G
Slide 11
Slide 11 text
2. 2H7:e[CO6 [Web terminal],2I<2* 3. [Install],2I<2.M7=OJ, ^*_Rb T$ [Web terminal]')VsXy X$D25A>5C5B 052ªRijÎ}ƃïñā(0A5GM) ! Kubernetes Web:OE?J.M7=OJ k(x10UWb) ,}*\Y)% ! Kubernetes2H7:lp '!qfuio Q~) 1. I9O7NI7=[Clusters] zSg2H7:Z [qn],u*
Slide 12
Slide 12 text
⽬次 1. コンテナが注⽬されている理由 2. コンテナのテクノロジーとは 3. IBM Cloud Kubernetes Service の始め⽅ 4. Kubernetes チャレンジ <ワークショップ>
Slide 13
Slide 13 text
1. コンテナが注⽬されている理由 なぜ「今」 コンテナ/Docker/Kubernetesなどの テクノロジーが注⽬されているのか
Slide 14
Slide 14 text
Ò¯³Ĭó}¤¦¯Å Ò½Ï or ̲ â HA1 QA-HA1 DEV#1 â HA2 QA-HA2 DEV#2 Storage Disk Array Tape Library Equipment ¤¦¯ÅƎĎã ¦R¹R¸£ Ąëã ¤¦¿ ƜƕĮď ¦¥ÉRÎ ƜƕǗij ¹¬ǁď ĖǀäƷĪ ¨Éͯ ¬ÉR´Ò ſǷĺðųJĉNjƊç Źƌ ½ÍM¥Ë¼Ŏď ŀǙŎď Źƌ©»±}ĥõ ʼnh ƜƕĘä^ Ôƚ²ÉÆÒ±yȅÙö{džý |¤¦¯ÅĄë&Ŏď ½ÍM¥Ë¼Ŏď Ò¯³Ĭó} ƯǘǷŽ}Ʀ{ÙèʼnÞ ITILũǖ}èǓŕʼnģ
Slide 15
Slide 15 text
IT} Ò¯³ÞĤƥŵǸö|Ļƺ ½Í Ò¯³ V1.2 ½Í Ò¯³ V1.1 ŢƏċő ¯¦± ½Í Ò¯³ V1.3a ½Í Ò¯³ V1.3b °Í¸ÍM¹½ÌÒ ØƘ ¢Rº¦ ĄëÚ ĄëÚ ½Í ½Í ½Í ½Í °¾Ð¹R °¾Ð¹R ¯¦±Ò¥´ SRE íĂ|ęǁĊjr Ħđ} Ò¯³ ƊƇ¤¦¯Å |Ơ`hycxd 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 16
Slide 16 text
どちらを⽬指しますか︖ https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A#/ media/File:Dole_container_is_placed_onto_a_truck.jpg http://military.wikia.com/wiki/Battle_of_Pusan_Perimeter_logistics
Slide 17
Slide 17 text
ĈĦkr^hy~ƛxk_O ¡R l~7w 7lR l~7w ¬ÌÅïR l~7w
Slide 18
Slide 18 text
2. コンテナのテクノロジーとは 1 起動が早い • ホストOSからみると、プロセスが⽴ち上がるだけ • スケールしたときにもすぐにアプリが⽴ち上がる 2 冪等性が保たれる • Infrastructure as Code により、環境構築の⼀連の作業をコード化できる • Immutable Infrastructure により、何度実⾏しても同じ環境が再現される 3 ポータビリティー性がある • アプリの実⾏に必要な依存関係をすべてパッケージングできる • Dockerエンジンが動く環境ならどこでも実⾏できることが保証されている べきとうせい
Slide 19
Slide 19 text
"# gtx v}·R²(,| çƲjrŶôʼnģk Ŷôiy|lj{(,ƜƕŊƟ %)+/&F1A5{zyîl üå£×á
Slide 20
Slide 20 text
$% +'!- %9>DG|a^w gtxäà ŊƟm u\dvlop7w } ©»±
Slide 21
Slide 21 text
&'()*+(,-./(0+(, VǵƞäÒWyV Ò¯³W ÜƩNhttps://docs.docker.com/engine/docker-overview ! "0ϾÎ}ǵƞĊ ! (,RµÎƳŚ ! ǵƞäÒiy|ȃƲ ! (,ϾÎ}ǵƞĊ ! (,RµÎŧŚkJ½Ð¨¦ykwƅĔ ! ½Ð¨¦ÎR½ĊkwȃƲ
Slide 22
Slide 22 text
?3;5A \ Ò¯³ Ò¯³Įďmr}ƬĶ ŊƟm½Ì±»RÅ ! VĄëãcǮDž|½ÍR¤ËÒĔbmƜƕʼnWhycxd ! Ò¯³}°»±¦ªÒ«R² ÆR¥}ʼnģ T½Í}ĄëU ÆR¥}ŧŚ Ò¯³R}Ĉß +'!-[èIMgtx7R_h_d[ߧ
Slide 23
Slide 23 text
Ò¯³R}ÂRªºÍ¯ y ?3;5A". ! Ò¯³R}ÂRªºÍ¯ 1?3;5AÆR¥ ! ½ÍR¤ËÒȀƴ|ūĜ{Ǣư»Î ¹R¥Òxd ! ĽĎ¢R¸R|ǐõj{^ [ îlR¯¬È}Ɯƕx] ÂRªºÍ¯cưŭ] ! ?3;5A". '+, (" %! '+, *$)& %! * # * * VǼ}Ɯƕx~Ĕ^rW Ġİcëìk{^ ĸƦ{¾Ò«RcŊƟm Ò¯³RÆR¥ T©ÍÉR¤ËÒU}ªÐ * # * *
Slide 24
Slide 24 text
Ò¯³RƜƕ|ag¤¦¯ÅĄë !Infrastructure as Code }ǭǜ 1 ƜƕƉǟ}ÝČ}ʼnÞ~ Dockerfile | R²Ċ
Slide 25
Slide 25 text
?3;5AŗurĄë}ź ?3;5A69<5 ?3;5A ÆR¥ Ò¯³R Ï¥¦±Í ūĜ{ ĥõŇǤ Ąëã Ò¯³R ÆR¥ʼnģ ÆR¥} ƶƣ Ąëã ½ÍĈß ½ÍĄë
Slide 26
Slide 26 text
コンテナのはじめ⽅ n CNCFの Cloud Native Trail Map を参照 1. コンテナ化 • ⼀般的には Docker コンテナで実施 • いかなるサイズのアプリケーションも依存性もコンテナ化可能 • 時間が経つにつれ、アプリケーションを分割し マイクロサービス化したくなるだろう 2. CI/CD(継続デリバリの仕組み) • 継続インテグレーション・継続デリバリの仕組みをセットアップ • コード変更が 新しいコンテナ・イメージとして、 ⾃動的にビルドされ、テストされ、デプロイされるように 3. オーケストレーション&アプリ定義 • 互換性試験に合格している Certified Kubernetes 環境を選択 • もっとも複雑なアプリケーションであっても HELMで 定義して、導⼊して更新していくことが可能
Slide 27
Slide 27 text
Ò¯³ē|~ !?3;5Aâ}¢±bŸǚ«ÒÐR²ŷŔ 1 https://www.docker.com/products/docker-desktop 1 docker for Mac / docker for Windows !?3;5A|v^wē 1http://docs.docker.jp/index.html ! Śnj| ?3;5A}²ÉÆÒ±c Ó؃Ċjw^m ! n~ ?3;5A69<5 ^evbŕ^w k_P
Slide 28
Slide 28 text
ĈĦkr^hy~ƛxk_O ¡R l~7w 7lR l~7w ¬ÌÅïR l~7w ʨR «£ ýþP lf7
Slide 29
Slide 29 text
3. IBM Cloud Kubernetes Service}Ŝñ ƼƚƗà(PAYG)r~¢¼¦Í½¤ËÒ}Ò±
Slide 30
Slide 30 text
gtx×á5ñÒ£TR RXÂU ̲µ¯¼M½Í ƹũĊƤƮö|įĉ ?3;5A$D25A>5C5B} ı $D25A>5C5B¾R¦} Ò¯³ŀǙ©ÍÉR¤ËÒ ÕæL#& !??7<5{z Đ}ŁÞLłącĥü Ò¯³żƖ Ò¯³ƎĎ 234 !"#$% 567,-(,),8.9,-:+;,.<259= ¢Rº¦Æ¤É !A1651B ¢Rº¦Æ¤É ¢Rº¦Æ¤É !A1651B ¢Rº¦Æ¤É ¢Rº¦Æ¤É !A1651B !A1651B ¢Rº¦Æ¤É !A1651B ¢Rº¦Æ¤É ¢Rº¦Æ¤É ¢Rº¦Æ¤É ¢Rº¦Æ¤É 234 !"#$% >-+:*),.<2&>= Ýnv`a]RgtxÔ[ìº )#?>>53CL01CB?>?=@1A5?=@B6?A=1C9?>4E9B?AL&93A?3<9=1C5L (&L,;H49E5L#&/?935!1C5F1HL 052,@85A5L .A21>?45 5@>53CL1C1)?F5ALq}DŽĸī
Slide 31
Slide 31 text
234 !"#$% 567,-(,),8.9,-:+;, !"#$% 234 !"#$% >-+:*), !"&'% h7}lykw ŊƟj z7kwƜƕ _7vƜƕ| Ò¯³ƜƕƉǟMŎďm &''7l}©»± 234 !"#$% 234 !"#$%
Slide 32
Slide 32 text
234 !"#$% 567,-(,),8.9,-:+;, !"#$% 234 !"#$% >-+:*), !"&'% h7}lykw ŊƟj z7kwƜƕ _7vƜƕ| Ò¯³ƜƕƉǟMŎďm &''7l}©»± 234 !"#$% 234 !"#$%
Slide 33
Slide 33 text
IBM Cloud Kubernetes Service (IKS) »ÎõR¥²{$D25A>5C5BiŊƟ hdrOÈZY M«¤ÉÁR²ĒŬ Mǡī}¸R¥ËÒŊƟ jQ·Ã M¶R²Őī MĮďmäҦ¿ Mǵƞ¢R¸RJ¾ÆªÎ =<<:øð Mk8s}APIJ®RÎ MkubectlŗurǬʼn ÖÞs7ÆU MÐŦŪ MÇ´ªÍÒ úòQh7}l¥í MWatson MIoT MDatabase{z{z VXmc]Q MȈǦĢ²¸£R ĖǁŖ{ĥõyȈǦĢļÜ MÆR¥LJĿ M Ĉßò}Ĩǂ¬
Slide 34
Slide 34 text
©¿À µ¼Ru7omo7QMh7}lÉæ ã u7omo7 Á ĩ¥ ! ?@0%$ ! 8(0%" ! )'@%$ ! A'(0.5'(0 ! B'@C' ! 9+(0*D'-, Š¥ ! E,F%" ! 8CG%" ! 8CG%H ! 4,F7'6-(, ! 9CG(,C ƱƋÚƻ ! *E8%I ! J-*%$ ! E+F%" ! D*-%" ! KE8),-G*E ! L-*(@J6-) ! 4+F*( ! >*-+8 ƭÖŠø ! F'(%$ ! F'(%H ! M'(G'( ăÖéø ! E'(%" ! )'-%" ! NG;%O ! NG;%P ! 4'()-,*F ! B'-'()' ! Q*8?+(0)'(R.S& ăÖŠø ! G*F"% ! G*F"$ ! G*F"I ! ?'6%" ! 8*'%" ! S*FF*8 ! A'68)'( ! 9*'.>*6F' https://console.bluemix.net/docs/containers/cs_regions.html#regions-and-locations
Slide 35
Slide 35 text
ýþPdlo7·Ã h7|7êÐ ëé ®¦ÇÍç 8=(#%)9 ®¦ÇÍç 8?(#%)* ÎðÏ+ ǵƞ ¢R¸R $STO &>U HS$H$...V3.WK4 X"$Yòô X$ZPĝYæ ƳŚǵƞ ¢R¸R $STO &>U HS$H$...V3.WK4 XITYòô XPZ[ĝYæ ĽĎ ¢R¸R HS$[ &>U I$ST"$.V3.WK4 X[%R$%%Yæ X$HĝYæ éěS& $%"[ÕHæĦŭ}Ơ ! ÑRRM¶R²}Ȁƴòô|ųlrƼƚƗà ! æªRM¶R²~Ɨàðƍġ ! LQ9)'-*0,J>'-)*7F,.2>{zūĜ|ųlwšǒƝĭ
Slide 36
Slide 36 text
] oÛ¶ 567,-(,),8 æªRM¶R² TĞLjƎĎU 567,-(,),8 ÑRRM¶R² 567,-(,),8 ÑRRM¶R² ,-.ߧ BîéHOQlo76{7w[ Éæ4 ,-.ߧ/01(Qȶ Bîéߧ BîéD y7CW h7|7[¢ù4 Bîé/01(Qȶ 567,-(,),8 ÑRRM¶R²
Slide 37
Slide 37 text
0!-*!/!. 0!-*!/!. ÄFR+'!-äà[ØߧIMFZY b7flv7j6s7
Slide 38
Slide 38 text
¦Rα ÂͤR¾R¦x}ŷďĢ ſǷçǞ ÐRν°R± µ±ÑRƎĎ ǃħ¦±ÏR¥ƎĎ ).&5=?AHÍ©R¦ƎĎ 0!-*!/!.
Slide 39
Slide 39 text
Kubernetes}R¯¬È ĎƞžƆ|{_ '?45Û} Ò¯³ƎĎ ʼnģkr Ò¯³R~'?45Û|Ɗť ƎĎã ÊR£R
Slide 40
Slide 40 text
Pod !Kubernetes |agęč}ƎĎDžĹ 1+ }Ú|~ =L¼ } Ò¯³cƢ 1)?4DžĹx¦RÎÒM¦Rαm 1)?4iy|#)²Ï¦c¢Òj )?4#) ()*(*+),*-. ()*(*+),*(+/
Slide 41
Slide 41 text
2#34)35(#%) 6&'7589$:;$+ Ò¯³ Īś|~PodxmcJƐÿǮǠĊ}r Ò¯³ykmK gtx«È 1ËRNodeN÷»Rgtx[«È
Slide 42
Slide 42 text
ReplicaSet !)?4ƎĎmr}õƈ 1)?4}ūĜȀƴīõƈ 1$,} $! 0(!- c z}¶R²|¢Òmb~ōǥkwe )?4#) ()*(*+),*-. ()*(*+),*(() !,(%!/ Ó°»> ¸ ¶R² ¶R²
Slide 43
Slide 43 text
2#34)35(#%) 6&'7589$:;$+ Ò¯³ Īś|~PodxmcLƐÿǮǠĊ}r Ò¯³ykmK Kubernetes ߧ Rgtxäà 2#34)35(#%) 6&'7589$:;$+ 2#34)35(#%) 6&'7589$:;$+ 0!-*!/!.dlo7 ÷»NodeN Kubernetesdlo7[Û¶
Slide 44
Slide 44 text
2#34)35(#%) 6&'7589$:;$+ Ò¯³ Īś|~PodxmcLƐÿǮǠĊ}r Ò¯³ykmK 2#34)35(#%) 6&'7589$:;$+ 2#34)35(#%) 6&'7589$:;$+ 0!-*!/!.dlo7 @YgtxQ²¾D@ZS5ÐNodeNgtxOIM«È Kubernetes ߧ Rgtxäà
Slide 45
Slide 45 text
2#34)35(#%) 6&'7589$:;$+ Ò¯³ Īś|~PodxmcLƐÿǮǠĊ}r Ò¯³ykmK 2#34)35(#%) 6&'7589$:;$+ 2#34)35(#%) 6&'7589$:;$+ 0!-*!/!.dlo7 @YNodeQ²¾D@ZS5ÐNodeNgtxOIM«È Kubernetes ߧ Rgtxäà
Slide 46
Slide 46 text
Node Port !0!-*!/!.³b -)#)x¨¦mr}õƈ 1$,̦ª÷x±OPY7vc¢Òj 1$,̦ª}z}¶R²b¨¦kw ĚȆ¢Rº¦|ÎR¯Òj )?4#) ()*(*+),*-. ()*(*+),*(() ¶R² ¶R² I%%"% I%%"%
Slide 47
Slide 47 text
2#34)35(#%) 6&'7589$:;$+ Ò¯³ Īś|~PodxmcLƐÿǮǠĊ}r Ò¯³ykmK 2#34)35(#%) 6&'7589$:;$+ 2#34)35(#%) 6&'7589$:;$+ 0!-*!/!.dlo7 Pod zrv7dN5ÕEIP[LGM«Ñ¯ ç) Pod zrv7d 10.1.0.x .10 .11 .12 .13 .14 .15 .16 .17 .18 .19 Kubernetes ߧ Rgtxäà
Slide 48
Slide 48 text
Deployment !ęÝǕö{ÑRÐR²õƈą 1)?4 1+5@<931,5C 1
Slide 49
Slide 49 text
ô»¦±»ÎxžƆǣĴ TƠU ! Ò¯³RÆR¥ ! Ò¯³R}ī ! ūĜ{).&5=?AH ! ġø¨¦}r|ĄeÂR±~
Slide 50
Slide 50 text
Video: Kubernetes Rollout/Rollback demo 今さら⼈に聞けない Kubernetes とは︖ https://qiita.com/MahoTakara/items/85096f8b2632c802ab22
Slide 51
Slide 51 text
Video: Kubernetes rollout / rollback Video: Kubernetes rollout / rollback
Slide 52
Slide 52 text
まとめ 02 01 コンテナとは︖ Dockerとは︖ 03 Kubernetesとは︖ 04 コンテナのはじめ⽅ • Linux上の隔離された空間で実⾏されるプロセス • アプリの実⾏に必要な依存関係をすべてパッケージングできる • コンテナーの作成・共有・実⾏をするためのツール • 冪等性やポータビリティー性といったメリットがある • コンテナーのオーケストレーション・ツール • 理想状態を宣⾔すると、その状態を維持しようとしてくれる • Kubernetesは必要な機能だけを絞って動かしてみる
Slide 53
Slide 53 text
áóũŲsaĵ x{^ñ ZÑR¤Ë½x~ŚǚÒ±ŗďkmcJŸŞǝ÷xʼnÞkmK ƼuwJĀú}ŚǚÒ±}½ÏR²JÑR¤Ë½űĭ|uw ĮďŞàcƧňjhy~]o ibm.biz/IKSdojo ! PayG Ò±ƶƣ ! 9A56?G¼Ì£Ò¦±RÎ ! IBM Cloud CLI Ò¦±RÎ ! IBM Cloud Kubernetes Service ʼnģ
Slide 54
Slide 54 text
m.BM= IBM Cloud "-287 P~URL ({ ibm.biz/dojo20200122 ! IBM Cloud K3.M -1/M=, hi ( (K3.M ! IBM Cloud H.=-1/M=Sg -1/M=, hi t, % XØÓ}aǧ^
Slide 55
Slide 55 text
4. Kubernetes R²¬ÈÏÒ¥ ibm.biz/dojokadai1 Y Kubernetes bē
Slide 56
Slide 56 text
4. Kubernetes コードチャレンジ (1) 補⾜ ibm.biz/dojokadai1 ■ Lab 5 Helmオプションに関するエラーが発⽣した場合は、オプションを 除いて実⾏してください。 例 helm install –name jpetstore ./mmssearch helm install jpetstore ./mmssearch/ 例 helm delete jpetstore –purge helm delete jpetstore
Slide 57
Slide 57 text
4. Kubernetesコードチャレンジ (2) Watson APIを呼び出すアプリをKubernetes で動かそう ibm.biz/dojokadai2 無料範囲でWordPressサイトをKubernetes で動かそう ibm.biz/dojokadai3
Slide 58
Slide 58 text
4. Kubernetes コードチャレンジ (3) ibm.biz/docker101jp ■ Docker から学ぶ Lab 0 – Dockerのインストール Lab 1 – 初めてコンテナを実⾏ Lab 2 – カスタムDockerイメージ Lab 3 – オーケストレーション⼊⾨
Slide 59
Slide 59 text
IBM Code Patterns https://ibm.biz/ibmcodejp ńƐ °ÇĔŤ ©R¦ R²cȊur½ÍĄë¹ªRÒŪ
Slide 60
Slide 60 text
Y åǍŕ}iǻơ V?3;5Abï$D25A>5C5BWíƂŏǽǶ Í¯Ï Å
Slide 61
Slide 61 text
¡½Gh_v IBM Developer ibm.biz/IBMDevJP ęùŅı¦Î½|Žüvƨ`żƖŇáŊƟ
Slide 62
Slide 62 text
No content