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

秋のIBM Dojo 2 WebアプリとDB / Docker and Kubernetes

Aya Tokura
October 23, 2019

秋のIBM Dojo 2 WebアプリとDB / Docker and Kubernetes

Aya Tokura

October 23, 2019
Tweet

More Decks by Aya Tokura

Other Decks in Technology

Transcript

  1. ƽ{IBM Dojo 2019 No. H8> ?I *",1  é Öij

      :=B3ñƛ  • »    # [}†,+,!(#. 1 #.+#0#/  é Öij   :=292708<!F>4?:4364?01?82  éÖǓ   '>4<+785A%8<8@785A ñƛ  é Öij   "=, &=34 *=<'>4<+785A%8<8@785A  é Öij   "/0A@=<(">>=<'>4<+785A%8<8@785A  éÖij   <0:FA82@ ĜȔęǠ /0A@=<+AB38=  é Öij   B<2A8=<0@0+4?C824B<2A8=<@#<0A8C4  é Öij   '>4<+785A%8<8@785A ñƛ https://ibm-developer.connpass.com/
  2. 本⽇のタイムテーブル 14:00-14:05 (5min) オープニング 14:05-15:00 (55min) 秋のIBM Dojo #2 Webアプリ+DB

    on Kubernetes <座学> ⽇本アイ・ビー・エム株式会社 デベロッパーアドボケイト ⼾倉 彩 15:00-17:00 (120min) Kubernetesコードチャレンジ <ワークショップ> ⽇本アイ・ビー・エム株式会社 デベロッパーアドボケイト ⼾倉 彩 17:00-17:30 (30min) クロージング
  3. @".4, IBM Cloud !%)(6DURLB  ibm.biz/dojo20191023 ! IBM Cloud 2&"4

    !$#4, <= 2&"4   ! IBM Cloud 0",!$#4,7; !$#4, <= AG J  UÛÖ{_ǽ\
  4. 事前準備まだお済みでない⽅ (1) 1. IBM Cloudアカウント(無料)の取得 ☆操作解説動画: https://ibm.biz/action1 2. IBM Cloud

    従量課⾦アカウントへのアップグレード ☆操作解説動画: https://ibm.biz/action2 ※ ワークショップでは有償アカウントを使⽤しますが、無料枠内で作業します。 従って、今回の有償アカウントへのアップグレードや、ワークショップ参加によって 利⽤料⾦が請求されることはありません
  5. ¢Õ±µıõ{¦¨±È ›ÕÀÒ or ŸÏ—´ Žà HA1 QA-HA1 DEV#1 Žà HA2

    QA-HA2 DEV#2 Storage Disk Array Tape Library Equipment ¦¨±Èƕēæ ¨O»Oº–¥ ĉíæ ¦¨›Â ƦƜĵĔ ¨¡§ÌOÑ ƦƜǬļ »¯®ǏĔ ěǎçǃį ªžÌб• ®ÌO¶Õ ƉȋŅòżGĎǞƑê ƂƓ ”ÀÐJ§Î¿ŗĔ ŋǮŗĔ ƂƓ«¾³{Ī÷ œŒf… ƦƜĝŒç\ ×Ƥ´žÌÉÕ³wȚÜøyǖā zŠ¦¨±Èĉí&ŗĔ ”ÀÐJ§Î¿ŗĔ ¢Õ±µıõ{ ƺǭȋƇ{ƱyÜëœá ITILŲǫ{ëǧŝ‘œĨ
  6. IT{¢Õ±µ‡áĩưž‘ȍøzņdž ”ÀÐ ¢Õ±µ V1.2 ”ÀÐ ¢Õ±µ V1.1 ŪƖĐř ±¨³ ”ÀÐ

    ¢Õ±µ V1.3a ”ÀÐ ¢Õ±µ V1.3b ²ÐºÐJ»–ÀÏ–Õ Ûơ ¤O¼¨ ĉíÝ ĉíÝ ”ÀÐ ”ÀÐ ”ÀÐ ”ÀÐ ²ÁÓ¯»O ²ÁÓ¯»O ±¨³™Õ§¶” SRE ïĆzĞǏďhŽp īė{¢Õ±µ ƑƎ¦¨±È zƫ^fwavb 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. ¢Õ±µO{ÅO¬¼Ð±• w =294?!- ! ¢Õ±µO{ÅO¬¼Ð±• /=294?–ÉO§ ! ”ÀСO¦ÎÕȕǁzŵĢyǸƻ¾“–Ñ‘ »¯¡O§Õ vb

    ! ňē¤OºOzǣ÷hŽy\ Y ðj”Ož±Ÿ®Ë{ƦƜv[Ž} ÅO¬¼Ð±•aƻŷ[ ! =294?!-  '+, (" %!  '+, *$)& %!  * #  *  *          SȐ{ƦƜv|Ě\pT ĥķaíîiy\                    ŃƱyÁÕ­OaŔƪk ¢Õ±µO–ÉO§ Q«ÐÌO¦ÎÕR{œ¬Ó  * #  *  *   
  9. コンテナのはじめ⽅ n CNCFの Cloud Native Trail Map を参照 1. コンテナ化

    • ⼀般的には Docker コンテナで実施 • いかなるサイズのアプリケーションも依存性もコンテナ化可能 • 時間が経つにつれ、アプリケーションを分割し マイクロサービス化したくなるだろう 2. CI/CD(継続デリバリの仕組み) • 継続インテグレーション・継続デリバリの仕組みをセットアップ • コード変更が 新しいコンテナ・イメージとして、 ⾃動的にビルドされ、テストされ、デプロイされるように 3. オーケストレーション&アプリ定義 • 互換性試験に合格している Certified Kubernetes 環境を選択 • もっとも複雑なアプリケーションであっても HELMで 定義して、導⼊して更新していくことが可能
  10. ¢Õ±µ‘ęz| !=294?å{¤–³`‹Ɓǯ­—ÕÓO´ƀŜ / https://www.docker.com/products/docker-desktop / docker for Mac / docker

    for Windows !=294?zt\uę /http://docs.docker.jp/index.html ! ŢǟzŠŒ =294?{´žÌÉÕ³a ÖÛƙďhŽu\„k ! „l| =294?58:4 ‘\ct`ŝ\u…„i‰]M
  11. ¢Õ±µĉíƦƜ !¢Õ±µď‘Ť†ʼnz ŵĢy‡{ 3=294? «O¨¢O´JÒŧ³Ð ¼Ñ´J±¨³èĚď°OÑ ¢Õ±µOJÒ§¨³Ð 8A!B1 8A$01 =294?*468@A?F

    ĉíæƦƜ 68A 2:=<4 68A>B@7 68A2=;;8A ¢Ç¯³‘ ³ÐOz èĚčâ ¢Õ±µO {¼Ñ´ ”ÀСO ¦ÎÕ{ ¼Ñ´ ¢O´{ĝ ō ±¨³°O Ñ{èĚč â =294?58:4‡ ”ÀСO¦ÎÕ¢O´w ðƱzƕē ±¨³‘Ăųip‹G ÛơĔÒ§¨³Ðzǂ Ʈ ĥķaíîip‹ȑǘz¾•O´º¯Ÿ
  12. e‹quÕß4ðÐ RP PªVÀS ŸÏ—´·–±•¿J”ÀÐ DžŲď€ƯƹøzĶĎ =294?#B14?<4A4@€{ ¢Ç¯³ #B14?<4A4@ÁO¨{ ¢Õ±µŋǮ«ÐÌO¦ÎÕ 

    ØéI"%ˆ ==6:4yx Ė {ŌáIŎĊaĪĀ ¢Õ±µƆƝ ¢Õ±µƕē 012 !"#$% 345*+&*'*6,7*+8)9*,:037; ¤O¼¨É¯¦Ì ?0540@ ¤O¼¨É¯¦Ì ¤O¼¨É¯¦Ì ?0540@ ¤O¼¨É¯¦Ì ¤O¼¨É¯¦Ì ?0540@ ?0540@ ¤O¼¨É¯¦Ì ?0540@ ¤O¼¨É¯¦Ì ¤O¼¨É¯¦Ì ¤O¼¨É¯¦Ì ¤O¼¨É¯¦Ì 012 !"#$% <+)8('*,:0$<; ”Ûk|s^_[Pe‹qu™ÒYê· ("=<<42AI/0A@=<=;>0?4=;>:FI ,?0<@5=?;0A8=<3C8@=?I%82?=2:8;0A4I '%I+9F38C4I"%.=824 0A4D0FI /41+>74?4I -?10<=34 4>:=FI(%I1I %)I""I>>=<<42AI0A0(=D4?Io{ǔŃİ
  13. 012 !"#$% 345*+&*'*6,7*+8)9* !"#$% 012 !"#$% <+)8('* !"&'% f6ziwiu ŔƪhŽ

    |‡€w6htƦƜ }…]~6sƦƜz ¢Õ±µƦƜ‘ƐǴJŗĔk &''~6i{«¾³—˜” 012 !"#$% 012 !"#$%
  14. 012 !"#$% 345*+&*'*6,7*+8)9* !"#$% 012 !"#$% <+)8('* !"&'% f6ziwiu ŔƪhŽ

    |‡€w6htƦƜ }…]~6sƦƜz ¢Õ±µƦƜ‘ƐǴJŗĔk &''~6i{«¾³—˜” 012 !"#$% 012 !"#$%
  15. IBM Cloud Kubernetes Service (IKS) ¾ÑÆ·O§´y#B14?<4A4@‘gŔƪ fboMÆXW J­¯¦ÌÄO´ĘŶ JǶİ{ºO§ÎÕŔƪ g‹}‡O´Á

    J¸O´Řİ JĵĔkÆ¦Õ¨Â¯Ÿ JȊƨ¤OºOGÁ”É¬Ñ <;;9öï Jk8s{APIG°OÑ Jkubectl‘şspȂœ ÔÜp6‡ÄS JÓ ŮŴ Jʶ¬ÐÕ øñOf6zi¢ì JWatson JIoT JDatabaseyxyx TVjaƒ[O JȝǼħ”´º–¥O ěǏŞyĪ÷wȝǼħ‘Ňß J–ÉO§ǚŊ J čâô{ĭǐ®˜¯Ÿ
  16. ¦½¾ Œ²¹Pr6lj‹l6OKf6ziÇä ˜á r6lj‹l6 ¿œ Į”§” ! =>.?" ! 6&.?#

    ! '%>?" ! @%&.,3%&. ! A%>B% ! 7)&.(C%+* Ũ”§” ! D*E?# ! 6BF?# ! 6BF?G ! 2*E5%4+&* ! 7BF&*B ƼƒÝLJ ! (D6?H ! I+(?" ! D)E?# ! C(+?# ! JD6'*+F(D ! K+(&>I4+' ! 2)E(& ! <(+)6 ƸÙŨû ! E%&?" ! E%&?G ! L%&F%& ĈÙìû ! D%&?# ! '%+?# ! MF9?N ! MF9?O ! 2%&'+*(E ! A%+%&'% ! P(6=)&.'%&Q,R$ ĈÙŨû ! F(E#? ! F(E#" ! F(E#H ! =%4?# ! 6(%?# ! R(EE(6 ! @%46'%& ! 7(%,<(4E% https://console.bluemix.net/docs/containers/cs_regions.html#regions-and-locations
  17. HS úûNb…il6´Á f6y6èÎ éç «£ÅËå 7<(#%)8 «£ÅËå 7>(#%)* •ÌïÍ+ Ȋƨ

    ¤OºO "PTN $<U GP"G",,,V1,WJ2 X#"Yôö X"ZOģYé ƿŢȊƨ ¤OºO "PTN $<U GP"G",,,V1,WJ2 XHTYôö XOZSģYé ňē ¤OºO GP"S $<U H"PT#",V1,WJ2 XS?Q"??Yé X"GģYé ìġR$ "?#SØGéīŷ{ƫ ! ÔOœOJ¸O´{ȕǁôözżjpljƤƟã ! ƨ¬OJ¸O´|ƟãòƔĦ ! KPˆ7'%+(.*G<%+'(5E*,0<yxŵĢzżjuũǦƧĴ
  18. H[ ~[l‡Ù³ 345*+&*'*6 ƨ¬OJ¸O´ QĤǛƕēR 345*+&*'*6 ÔOœOJ¸O´ 345*+&*'*6 ÔOœOJ¸O´ ,-.ݤ

    AíçGMO€il65x6tY Çä3 ,-.ݤ/01(OƳ Aíçݤ AíçCvƒ6BU f6y6YŸ÷3 Aíç/01(OƳ 345*+&*'*6 ÔOœOJ¸O´
  19. T# 2#34)35(#%) 6&'7589$:;$+ ¢Õ±µ įţz|PodvkaIƗăȄǵď{p†¢Õ±µwi„kH 2#34)35(#%) 6&'7589$:;$+ 2#34)35(#%) 6&'7589$:;$+ 1

    #.+#0#/b…il6 Pod wosŠ6bL4ÓDIPY–JFK”¨Ï¬ å) Pod wosŠ6b 10.1.0.x .10 .11 .12 .13 .14 .15 .16 .17 .18 .19 Kubernetes ݤPe‹quâÞ
  20. まとめ 02 01 コンテナとは︖ Dockerとは︖ 03 Kubernetesとは︖ 04 コンテナのはじめ⽅ •

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

    – Dockerのインストール Lab 1 – 初めてコンテナを実⾏ Lab 2 – カスタムDockerイメージ Lab 3 – オーケストレーション⼊⾨
  22. ƽ{IBM Dojo 2019 No. H8> ?I *",1  é Öij

      :=B3ñƛ  éÖij   /41”ÀÐ=<=294? #B14?<4A4@  é Öij   :=292708<!F>4?:4364?01?82  éÖǓ   '>4<+785A%8<8@785A ñƛ  é Öij   "=, &=34 *=<'>4<+785A%8<8@785A  é Öij   "/0A@=<(">>=<'>4<+785A%8<8@785A  éÖij   <0:FA82@ ĜȔęǠ /0A@=<+AB38=  é Öij   B<2A8=<0@0+4?C824B<2A8=<@#<0A8C4  é Öij   '>4<+785A%8<8@785A ñƛ https://ibm-developer.connpass.com/