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 Slide

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

    View Slide

  3. @ayatokura
    ;<=>[email protected]=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 Slide

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

    View Slide

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

    View 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 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 Slide

  8. 1. [email protected]=[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 Slide

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

    View 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 Slide

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

    View Slide

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

    View 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 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 Slide

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

    View 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 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 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
    :;;<
    =>[email protected]>B
    C
    :;;D
    =>[email protected]>B
    C
    :;;E
    =>[email protected]>B
    C
    —Ösß®ûÇ#ñõ”
    Üá∏:à%œñ
    !"#$%&'()**'FGG;H
    !"#$%&'()+,'>IJCF>[email protected];;
    !"#$%&'()**'-%.+(,%&%/*0.%&12
    â0œ[8ä5∏ãåôö
    é8nX5Z&5…
    }˛3„5678~s¨ºÅÓ
    6
    2
    #
    7
    8
    2
    9
    2
    :;;E
    =>[email protected]>B
    C

    View Slide

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

    View Slide

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

    View 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View 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 Slide

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

    View Slide

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

    View Slide

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

    View 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 Slide

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

    View Slide

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

    View 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View 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 Slide

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

    View Slide