IBM Dojo 手を動かして学ぶKubernetesアプリケーション開発 / IBMCloudKubernetesService

8065fe5a0d33908c6f71c5ae28939dcd?s=47 Aya Tokura
September 23, 2020

IBM Dojo 手を動かして学ぶKubernetesアプリケーション開発 / IBMCloudKubernetesService

・IBM Dojo
https://ibm-developer.connpass.com/event/184865/
本日のセッション資料です。

8065fe5a0d33908c6f71c5ae28939dcd?s=128

Aya Tokura

September 23, 2020
Tweet

Transcript

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

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

  3. @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áà
  4. 学習の⽬的とゴール ⽬的 コンテナの概要と利⽤⽅法について理解する ゴール IBM Cloud Kubernetes Serviceを利⽤した Webアプリケーション+DBを構築できる このコースを学ぶ⽅の想定スキル

    IBM Cloud上でコンテナ実⾏環境を初めて利⽤する⽅
  5. 1. [!"]![#$%&']()*+),- 2. [#$%&'./]()*+),- 3. #$%&'0123(45,- ´IBM Cloud1¨k8\≠ÆsØ∞ìî6 ±Bs≤5i67≥2ûÇ¥µsñ∂∑$∏πêûôU !

    UVWXYZ[\]^2_`9a ! bcde73789fg2_`9a
  6. 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
  7. 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
  8. 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,Ü
  9. ø¿%õij°º∏¡¬√ûƒö†åsØ∞

  10. 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,-Ü
  11. ⽬次 1. コンテナテクノロジーとは 2. IBM Cloud Kubernetes Service の始め⽅ 3.

    Kubernetesを活⽤したアプリ開発体験 4. おすすめ情報
  12. 1. コンテナテクノロジーとは なぜ「今」 コンテナ/Docker/Kubernetesなどの テクノロジーが注⽬されているのか

  13. é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"ø¿
  14. 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
  15. コンテナテクノロジーの特⻑ 1 起動が早い • ホストOSからみると、プロセスが⽴ち上がるだけ • スケールしたときにもすぐにアプリが⽴ち上がる 2 冪等性が保たれる •

    Infrastructure as Code により、環境構築の⼀連の作業をコード化できる • Immutable Infrastructure により、何度実⾏しても同じ環境が再現される 3 ポータビリティー性がある • アプリの実⾏に必要な依存関係をすべてパッケージングできる • Dockerエンジンが動く環境ならどこでも実⾏できることが保証されている べきとうせい
  16. "#$%&'$()*+$,'$( —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
  17. 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:
  18. é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
  19. é8nX5ß®CÉWö6°n⁄9: !Infrastructure as Code sçé - ß®úùsYZsøaÇ Dockerfile Cé5lI

  20. コンテナのはじめ⽅ n CNCFの Cloud Native Trail Map を参照 1. コンテナ化

    • ⼀般的には Docker コンテナで実施 • いかなるサイズのアプリケーションも依存性もコンテナ化可能 • 時間が経つにつれ、アプリケーションを分割し マイクロサービス化したくなるだろう 2. CI/CD(継続デリバリの仕組み) • 継続インテグレーション・継続デリバリの仕組みをセットアップ • コード変更が 新しいコンテナ・イメージとして、 ⾃動的にビルドされ、テストされ、デプロイされるように 3. オーケストレーション&アプリ定義 • 互換性試験に合格している Certified Kubernetes 環境を選択 • もっとも複雑なアプリケーションであっても HELMで 定義して、導⼊して更新していくことが可能
  21. é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à
  22. 3. IBM Cloud Kubernetes Services ™ì ∫%ªº(PAYG)∑õÇBp°i32678s1¨k8\ https://cloud.ibm.com/docs/account?topic=account-accounts&locale=ja

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

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

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

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

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

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

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

    ΩæNodeº Kubernetese¿dv6"¡¬
  31. !"#$%#&'"(% )*+,&-./01/2 Pod !"#$%#&'"(% )*+,&-./01/2 !"#$%#&'"(% )*+,&-./01/2 )*+,-.,/,0?e¿dv6 zt}9xM©Q√kzsƒ≈∆Nodeº«}9xMß%&#® Kubernetes

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

    °¢ø1}9xMóò
  33. !"#$%#&'"(% )*+,&-./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óò
  34. fÌæ°\~ZrûΩ€fifl }M~ ! é8nX5Z&5…LJ ! é8nX5s…LJ ! πêœè¬{‘F,ŸM-⁄LJ ! ·‚1iV°sõ™C9dz5\LJ

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

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

  37. 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
  38. Lab 0 – 1. 操作の補⾜ (1) IBM Cloudにコマンドからログイン時に リソースグループの指定が必要な場合 ibmcloud

    target –g <リソースグループ名> 例 ibmcloud target –g Default IBM Cloudのリソースグループ名は [管理]→[アカウント]→[アカウント・リソース] から確認できます。
  39. IBM Cloud CLI$Sø¿%õIKSij°º3°\ "ÓÔôöìî ibmcloud ks cluster ls Lab 0

    – 2. ÀøsÂÊ (2) abc
  40. IBM Cloud CLI Plugin container-service/kubernetes-service (v1.0.8以降) または IBM Cloud Shellを利⽤時︓

    Kubernetesクラスタへの接続情報を取得するコマンド ibmcloud ks cluster config --cluster <クラスタ名> Lab 0 – 2. 操作の補⾜ (3)
  41. Lab 1 – 1.の4 操作の補⾜ (4) IBM Cloud Shellを利⽤時︓ KubernetesのPort番号を確認

    KubernetesのワーカーノードのパブリックIP アドレス取得 Kubectl get service guestbook ibmcloud ks worker ls –cluster <クラスタ名>
  42. ø¿%õij°ºs˘˙ìî Clusters 4”6d4da JÑëí%&ñöB5C°∏Ø∞ûü∑ôU ˚B5C°Í¸s}˙˙˙~$S˘˙%&dV◊ñU i3≥iôöå_ÿ¥s &Ì„5∏ÓÔ◊∑˝Õ Y˘˙∏ûü∑ô

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

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

  45. 免責事項 IBM Developer Dojoは開発者の⽅を対象に、IBM Cloudを主とした技術情報をお伝えする⽬的で開催しています。 講師や運営スタッフにより、開催毎に最適と判断した内容でお届けしています。 現在、ハンズオンを伴う講義はお客様の費⽤負担がない環境と⼿順でご案内しています。講義終了後、不要に なりました制作物はお客様ご⾃⾝で削除をお願いいたします。クレジットカードの登録が伴わない場合、費⽤は ⼀切発⽣致しませんが、ご登録いただいたお客様はご注意ください。 講師陣はみなさまの利⽤状況を個別に確認することはできません。

    ご理解とご協⼒をお願いいたします。 利⽤したサービスの削除⽅法については講義の中でご案内します。 ご不明な点がございましたら、当⽇確認をお願いいたします。 講義終了後、 IBM Developer Dojoに関するお問い合わせは「Slack」にお願いします。それ以外のIBM Cloud のお問い合わせにつきましては、弊社サポートセンターまで、次のいづれかの⽅法でお問い合わせください。 IBM Cloudダッシュボードの「サポート」メニューから「Case」を作成し、英語でご記⼊ください IBM Cloudサポートセンター「相談する」ボタンからチャットまたは電話でご連絡ください https://www.ibm.com/jp-ja/cloud/support ご参加ありがとうございました。
  46. !"#$%&'()*+,-.,/,0123456789:; 1845\Cn„*É∫ñ‰%∑ôU <=>?@,A,BCD,-?@CEC ÿŸs⁄º%r slido.com #dojo0923 !"#$%&'()*+,-.,/,0123456789:; !"#$%&'()*+,-./01 <=>?@,A,BCD,-?@CEC FGHIJ%K

    slido.com #dojo0923