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

IBMDojo_Kubernetes_20200122

Aya Tokura
January 22, 2020

 IBMDojo_Kubernetes_20200122

冬のIBM Dojo #2 スケーラブルなWebアプリケーションをKubernetesで構築する
当日のセッション資料
https://ibm-developer.connpass.com/event/159743/

Aya Tokura

January 22, 2020
Tweet

More Decks by Aya Tokura

Other Decks in Technology

Transcript

  1. 本⽇のタイムテーブル 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) クロージング
  2. 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ǧ^
  3. 1. aP[IBM Cloud],2I<2 ;<5FDO>,|v 2. ;<5FDO>[I9O7}x] „Q|v+[Clusters],2I<2 3. I9O7NI7=[Clusters] z‚Sg2H7:Z

    [qn],u€* X$D25A>5C5BÌ¦ª}žƪśņñā ! Kubernetes2H7:Sg k‰(x20UWb),}*& LO25G<A ^%*WSg, Š% ! Kubernetes2H7:lp '!qfu€io Q~ƒ)
  4. 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 '!qfu€io Q~ƒ) 1. I9O7NI7=[Clusters] z‚Sg2H7:Z [qn],u€*
  5. Ò¯³Ĭó}¤¦¯Å šÒ½Ï 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¥Ë¼Ŏď ŀǙŎď Źƌ©»±}ĥõ ʼnŒh… Ɯƕʌä^ Ôƚ²œÉÆÒ±yȅÙö{džý |Š¤¦¯ÅĄë&Ŏď “½ÍM¥Ë¼Ŏď Ò¯³Ĭó} ƯǘǷŽ}Ʀ{ÙèʼnÞ ITILũǖ}èǓŕʼnģ
  6. IT} Ò¯³‡ÞĤƥŵǸö|Ļƺ “½Í Ò¯³ V1.2 “½Í Ò¯³ V1.1 ŢƏċő ¯¦±

    “½Í Ò¯³ V1.3a “½Í Ò¯³ V1.3b °Í¸ÍM¹•½Ì•Ò ØƘ ¢Rº¦ ĄëÚ ĄëÚ “½Í “½Í “½Í “½Í °¾Ð­¹R °¾Ð­¹R ¯¦±˜Ò¥´“ SRE íĂ|ęǁĊjŽr Ħđ} Ò¯³ ƊƇ¤¦¯Å |Ơ`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
  7. 2. コンテナのテクノロジーとは 1 起動が早い • ホストOSからみると、プロセスが⽴ち上がるだけ • スケールしたときにもすぐにアプリが⽴ち上がる 2 冪等性が保たれる

    • Infrastructure as Code により、環境構築の⼀連の作業をコード化できる • Immutable Infrastructure により、何度実⾏しても同じ環境が再現される 3 ポータビリティー性がある • アプリの実⾏に必要な依存関係をすべてパッケージングできる • Dockerエンジンが動く環境ならどこでも実⾏できることが保証されている べきとうせい
  8. Ò¯³R}ÂRªºÍ¯” y ?3;5A". ! Ò¯³R}ÂRªºÍ¯” 1?3;5A•ÆR¥ ! “½ÍŸR¤ËÒȀƴ|ūĜ{Ǣư»’•Î ¹­ŸR¥Òžxd !

    ĽĎ¢R¸R|ǐõjŽ{^ [ îl“Rœ¯¬È}Ɯƕx]Ž ÂRªºÍ¯”cưŭ] ! ?3;5A".  '+, (" %!  '+, *$)& %!  * #  *  *          VǼ}Ɯƕx~Ĕ^rW Ġİcëìk{^                    ĸƦ{¾Ò«RcŊƟm Ò¯³R•ÆR¥ T©ÍÉR¤ËÒU}›ªÐž  * #  *  *   
  9. コンテナのはじめ⽅ n CNCFの Cloud Native Trail Map を参照 1. コンテナ化

    • ⼀般的には Docker コンテナで実施 • いかなるサイズのアプリケーションも依存性もコンテナ化可能 • 時間が経つにつれ、アプリケーションを分割し マイクロサービス化したくなるだろう 2. CI/CD(継続デリバリの仕組み) • 継続インテグレーション・継続デリバリの仕組みをセットアップ • コード変更が 新しいコンテナ・イメージとして、 ⾃動的にビルドされ、テストされ、デプロイされるように 3. オーケストレーション&アプリ定義 • 互換性試験に合格している Certified Kubernetes 環境を選択 • もっとも複雑なアプリケーションであっても HELMで 定義して、導⼊して更新していくことが可能
  10. Ò¯³ē|~ !?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 Ó؃ĊjŽw^„m ! „n~ ?3;5A69<5 ^evbŕ^w…„k‰_P
  11. gtx×á5ñÒ£TR R­XÂ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]RgtxœÔ[ìº )#?>>53CL01CB?>?=@1A5?=@<HL -A1>B6?A=1C9?>4E9B?AL&93A?3<9=1C5L (&L,;H49E5L#&/?935!1C5F1HL 052,@85A5L .A21>?45 5@<?HL)&L2L &*L##L@@?>>53CL1C1)?F5ALq}DŽĸī
  12. 234 !"#$% 567,-(,),8.9,-:+;, !"#$% 234 !"#$% >-+:*), !"&'% h7}lykw ŊƟjŽ

    ‹„z7kwƜƕ ‰_‚7vƜƕ| Ò¯³ƜƕƉǟMŎďm &''‚7l}©»±–—“ 234 !"#$% 234 !"#$%
  13. 234 !"#$% 567,-(,),8.9,-:+;, !"#$% 234 !"#$% >-+:*), !"&'% h7}lykw ŊƟjŽ

    ‹„z7kwƜƕ ‰_‚7vƜƕ| Ò¯³ƜƕƉǟMŎďm &''‚7l}©»±–—“ 234 !"#$% 234 !"#$%
  14. IBM Cloud Kubernetes Service (IKS) »ÎõR¥²{$D25A>5C5BiŊƟ hdrOÈZY M«­¤ÉÁR²ĒŬ Mǡī}¸R¥ËÒŊƟ j‹Q·Ã

    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 Ĉßò}Ĩǂ¬—­
  15. ©¿À µ¼’Ru7omo7QMh7}lÉæ ›ã u7omo7 ÁŸ ĩ“¥“ ! ?@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
  16. ýþPd‰lo7·Ã 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æĦŭ}Ơ ! ÑR›RM¶R²}Ȁƴòô|ųlrƼƚƗà ! æªRM¶R²~Ɨàðƍġ ! LQˆ9)'-*0,J>'-)*7F,.2>{zūĜ|ųlwšǒƝĭ
  17. ‚]…o‹Û¶ 567,-(,),8 æªRM¶R² TĞLjƎĎU 567,-(,),8 ÑR›RM¶R² 567,-(,),8 ÑR›RM¶R² ,-.ߧ BîéHOQ„lo76{7w[

    Éæ4 ,-.ߧ/01(’Qȶ Bîéߧ BîéD…y‡7CW h7|7[¢ù4 Bîé/01(’Qȶ 567,-(,),8 ÑR›RM¶R²
  18. 2#34)35(#%) 6&'7589$:;$+ Ò¯³ Īś|~PodxmcLƐÿǮǠĊ}r† Ò¯³yk„mK 2#34)35(#%) 6&'7589$:;$+ 2#34)35(#%) 6&'7589$:;$+ 0!-*!/!.d‰lo7

    Pod zrvŽ7dN5ÕEIP[™LGM—«Ñ¯ ç) Pod zrvŽ7d 10.1.0.x .10 .11 .12 .13 .14 .15 .16 .17 .18 .19 Kubernetes ߧ Rgtxäà
  19. まとめ 02 01 コンテナとは︖ Dockerとは︖ 03 Kubernetesとは︖ 04 コンテナのはじめ⽅ •

    Linux上の隔離された空間で実⾏されるプロセス • アプリの実⾏に必要な依存関係をすべてパッケージングできる • コンテナーの作成・共有・実⾏をするためのツール • 冪等性やポータビリティー性といったメリットがある • コンテナーのオーケストレーション・ツール • 理想状態を宣⾔すると、その状態を維持しようとしてくれる • Kubernetesは必要な機能だけを絞って動かしてみる
  20. 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ǧ^
  21. 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
  22. 4. Kubernetes コードチャレンジ (3) ibm.biz/docker101jp ▪ Docker から学ぶ Lab 0

    – Dockerのインストール Lab 1 – 初めてコンテナを実⾏ Lab 2 – カスタムDockerイメージ Lab 3 – オーケストレーション⼊⾨