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

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

Aya Tokura
September 23, 2020

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

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

Aya Tokura

September 23, 2020
Tweet

More Decks by Aya Tokura

Other Decks in Technology

Transcript

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

    View full-size slide

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

    View full-size slide

  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áà

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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,Ü

    View full-size slide

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

    View full-size slide

  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,-Ü

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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"ø¿

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  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:

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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à

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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óò

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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)

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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
    ご参加ありがとうございました。

    View full-size slide

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

    View full-size slide