$30 off During Our Annual Pro Sale. View Details »

Rioでコンテナを楽しくする / Rio − Make Containers Fun!

Rioでコンテナを楽しくする / Rio − Make Containers Fun!

2019/6/22に開催されたGCPUG大分にて発表した「Rioでコンテナを楽しくする」の公開版スライドです。
(公開版は発表時の資料から視覚効果を狙ったスライドや口頭説明の補助のためのスライドなどを除去したものです)

Rioは
・Kubernetesを
・Docker風のUXで
・PaaS的に使える
ツールです。

Istio/Knative/BuildKit/Prometheus/Grafana/KialiなどをKubernetes上に展開し、Docker風のコマンドを持つCLIを通じて操作できるようにすることで、
・素早いデプロイ/管理
・最初からセキュア
・最高のリリース体験
などを提供してくれます。

GCPUG大分(#gcpug_oita): https://gcpug-oita.connpass.com/event/133531/

Kazumichi Yamamoto

June 22, 2019
Tweet

More Decks by Kazumichi Yamamoto

Other Decks in Technology

Transcript

  1. .BLF$POUBJOFST'VO
    ($16(0JUB!ZBNBNPUP@GFCD
    ެ։൛

    View Slide

  2. ૝ఆϨϕϧ
    ஫ҙ
    ͸͡Ίʹ
    ɾ%PDLFSجຊతͳ෦෼͸0,
    ɾ(,&,VCFSOFUFT;ΜΘΓͱཧղ͍ͯ͠Δ
    ɾৄࡉΛল͍ͯઆ໌͢ΔՕॴ͕ଟʑ͋Γ·͢
    ෆ໌఺͸࣭໰͍ͯͩ͘͠͞ ޙ͔ΒͰ΋0,

    ɾࠓ೔͸ѻΘͳ͍'BB41BB4ͦͷଞϚωʔδυαʔϏεͳͲ΋
    ؚΊͨݕ౼͕େࣄͰ͢

    View Slide

  3. ɾ,VCFSOFUFTΛ
    ɾ%PDLFS෩ͷ69Ͱ
    ɾ1BB4తʹ࢖͑Δπʔϧ
    IUUQTSJPJP

    View Slide

  4. View Slide

  5. ,VCFSOFUFT1PEDBTU લʑճ
    ʹ΋ొ৔
    https://kubernetespodcast.com/episode/057-rancher-labs/

    View Slide

  6. ։ൃ3BODIFS-BCT 044

    View Slide

  7. ίϯςφɺ࢖ͬͯ·͔͢ʁ

    View Slide

  8. SlideShare: CNCF Updates 2019 Winter version and Knative
    https://www.slideshare.net/zembutsu/cncf-updates-2019-winter-version-and-knative

    View Slide

  9. View Slide

  10. Docker Containers and the Nanobox Development Platform
    https://content.nanobox.io/docker-containers-nanobox-development-platform/
    രൃతʹීٴ

    View Slide

  11. ͚ͩͰྑ͍ʁ

    View Slide

  12. View Slide

  13. ,VCFSOFUFT
    ˞೥࣌఺ͷࢿྉ
    2016 2017 2018 2019

    View Slide

  14. ,VCFSOFUFT೉͍͠໰୊

    View Slide

  15. ͨ͘͞Μͷ.BOJGFTU
    %FQMPZNFOU 4FSWJDF ଞʹ΋
    ศར Ώ͑ʹ ࡉ͔͍

    View Slide

  16. A platform for platforms
    https://twitter.com/kelseyhightower/status/935252923721793536

    View Slide

  17. n ,VCFSOFUFTͷ্ʹ
    n ϕετϓϥΫςΟεΛ٧ΊࠐΈ
    n ͍͍ײ͡ͷΠϯλʔϑΣʔεΛ࣋ͭ
    n ϓϥοτϑΥʔϜΛ࡞Ε͹͍͍ʂ
    ,VCFSOFUFTΛ΋ͬͱ
    ͍͍ײ͡ʹ࢖͍͍ͨ
    ,VCFSOFUFT͸
    ʮ"1MBUGPSNGPS1MBUGPSNTʯ

    View Slide

  18. View Slide

  19. ɾ,VCFSOFUFTΛ
    ɾ%PDLFS෩ͷ69Ͱ
    ɾ1BB4తʹ࢖͑Δπʔϧ
    IUUQTSJPJP
    ͱ͖ͬͭʹ͍͘
    ΈΜͳ׳ΕͯΔ
    ͍͍ײ͡Ͱ

    View Slide

  20. %PDLFSMJLF69ʵCVUPO,VCFSOFUFT
    $ docker run –p 80:80 nginx $ rio run –p 80/http nginx
    $ docker ps $ rio ps
    $ docker exec -it foobar bash $ rio exec -it foobar bash
    $ docker logs -f foobar $ rio logs -f foobar
    $ docker rm -f foobar $ rio rm foobar

    View Slide

  21. ܰྔ
    ,VCFSOFUFTΫϥελ͕͋Ε͹࢖͑Δ
    ύϫϑϧ
    1SPNFUIFVT΍,OBUJWFɺ*TUJPΛ
    ҙࣝͤͣͱ΋
    ׆༻Ͱ͖Δ
    εϚʔτεέʔϦϯά
    1SPNFUIFVT͔Βͷ--ϝτϦΫεΛ
    ར༻ͯ͠Φʔτεέʔϧ ʹ΋Ͱ͖Δ

    ҉߸Խ
    ಈతʹׂΓ౰ͯΒΕΔ%/4ϨίʔυͰ
    -FU`T&ODSZQUͰͷূ໌ॻऔಘ
    (JUϦϙδτϦΛ؂ࢹࣗ͠ಈతʹ
    ΠϝʔδͷϏϧυϦϦʔεΛߦ͏
    ૉૣ͍σϓϩΠ؅ཧ ࠷ॳ͔ΒηΩϡΞ ࠷ߴͷϦϦʔεମݧ
    ޮ཰తͳύΠϓϥΠϯ
    3#"$ͱ౷߹͞Ε͍ͯΔ
    ౷߹
    ΧφϦΞϦϦʔεͳͲɺεϜʔζʹ
    ϩʔϧΞ΢τ͢Δ࢓૊ΈΛ಺ଂ
    εϜʔζͳϦϦʔε

    View Slide

  22. 2VJDL5PVS

    View Slide

  23. $ rio install
    2VJDL5PVS
    ˞લ४උ(,&ͳͲ,VCFSOFUFTΫϥελΛ༻ҙ SJPίϚϯυΛμ΢ϯϩʔυ
    Πϯετʔϧ
    $ rio run -p 80/http --name svc --scale=3 nginx:latest
    ίϯςφىಈ
    $ rio ps
    Name CREATED ENDPOINT REVISIONS SCALE WEIGHT
    default/svc About a minute ago https://svc-default.h3hh3u.on-rio.io:9443 v0 3 100%
    ֬ೝΞΫηε
    %/4ׂΓ౰ͯ -FU`T&ODSZQUͰͷূ໌ॻ IUUQT

    ಠࣗυϝΠϯ΋࢖͑Δ

    View Slide

  24. ·ΔͰ1BB4ͳύΠϓϥΠϯ

    View Slide

  25. (JUϦϙδτϦ͔Β3VO
    $ rio run -p 80/http --name svc --scale=3
    https://github.com/yamamoto-febc/rio-demo.git
    ˞લ४උϦϙδτϦʹ%PDLFSGJMFΛ༻ҙ͓ͯ͘͠
    ϦϙδτϦΛࢦఆͯ͠3VO
    ˞࣮ࡍ͸ߦ
    কདྷతʹ͸#VJME1BDLͳͲʹ΋ରԠ༧ఆΒ͍͠
    1VTI΍5BHΛݕ஌ͯ͠Ϗϧυߋ৽ϦϦʔε΋
    1VTI #VJME 3VO

    View Slide

  26. εϜʔζͳϦϦʔε

    View Slide

  27. # List Services
    $ rio ps
    Name CREATED ENDPOINT REVISIONS SCALE WEIGHT DETAIL
    default/svc About a minute ago https://svc-default.h3hh3u.on-rio.io:9443 v0 3 100%
    # List Revisions
    $ rio revision
    Name IMAGE CREATED SCALE ENDPOINT WEIGHT DETAIL
    default/svc:v0 ibuildthecloud/demo:v1 About a minute ago 1/3 https://svc-v0-default.h3hh3u.on-rio.io:9443 100
    $ rio run -p 80/http --name svc --scale=3 ibuildthecloud/demo:v1
    4FSWJDFT3FWJTJPOT
    3VO
    4UBHJOH3PMMJOHPVU
    ϦϏδϣϯ͝ͱͷΤϯυϙΠϯτ63-
    αʔϏε͝ͱͷΤϯυϙΠϯτ63-

    View Slide

  28. $ rio ps
    Name CREATED ENDPOINT REVISIONS SCALE WEIGHT DETAIL
    default/svc About a minute ago https://svc-default.h3hh3u.on-rio.io:9443 v0 3 100%
    $ rio revision
    Name IMAGE CREATED SCALE ENDPOINT WEIGHT DETAIL
    default/svc:v3 ibuildthecloud/demo:v3 About a minute ago 1/3 https://svc-v3-default.h3hh3u.on-rio.io:9443 0
    default/svc:v0 ibuildthecloud/demo:v1 About a minute ago 1/3 https://svc-v0-default.h3hh3u.on-rio.io:9443 100
    $ rio stage --image=ibuildthecloud/demo:v3 default/svc:v3
    4FSWJDFT3FWJTJPOT
    4UBHJOH
    4UBHJOH
    αʔϏε͝ͱͷΤϯυϙΠϯτ63-͸มΘΒͣ
    εςʔδϯά޲͚ΤϯυϙΠϯτ63-

    View Slide

  29. $ rio ps
    Name CREATED ENDPOINT REVISIONS SCALE WEIGHT DETAIL
    default/svc About a minute ago https://svc-default.h3hh3u.on-rio.io:9443 v0 3 100%
    $ rio revision
    Name IMAGE CREATED SCALE ENDPOINT WEIGHT DETAIL
    default/svc:v3 ibuildthecloud/demo:v3 About a minute ago 1/3 https://svc-v3-default.h3hh3u.on-rio.io:9443 10
    default/svc:v0 ibuildthecloud/demo:v1 About a minute ago 1/3 https://svc-v0-default.h3hh3u.on-rio.io:9443 90
    $ rio weight default/svc:v0=90% default/svc:v3=10%
    4FSWJDFT3FWJTJPOT
    $BOBSZ3FMFBTF
    $BOBSZ3FMFBTF
    ͜͜΁ͷΞΫηε͕ͰৼΓ෼͚ΒΕΔ

    View Slide

  30. $ rio promote default/svc:v3
    ɾσϑΥϧτඵ͝ͱʹͣͭ੾Γସ͑Δ ϩʔϧΞ΢τ

    ɾΦϓγϣϯͰมߋՄೳ
    SPMMPVUJOUFSWBMඵ਺
    SPMMPVUJODSFNFOU૿෼
    OPSPMMPVU௚ͪʹ੾Γସ͑
    3PMMJOHPVU
    1SPNPUF
    $ rio revision
    Name IMAGE CREATED SCALE ENDPOINT WEIGHT DETAIL
    default/svc:v3 ibuildthecloud/demo:v3 About a minute ago 1/3 https://svc-v3-default.h3hh3u.on-rio.io:9443 10
    default/svc:v0 ibuildthecloud/demo:v1 About a minute ago 1/3 https://svc-v0-default.h3hh3u.on-rio.io:9443 90
    ঃʑʹ΢ΣΠτ͕૿͍͑ͯ͘

    View Slide

  31. εϚʔτͳΦϖϨʔγϣϯ

    View Slide

  32. $ rio run -p 8080/http --name autoscale --scale=0-20
    strongmonkey1992/autoscale:v0
    "VUP4DBMJOH
    ɾ1SPNFUIFVT͔ΒϝτϦΫεऔಘ
    ɾऔಘͨ͠ϝτϦΫεʹԠͯ͡Φʔτεέʔϧ
    ɾεέʔϧ͸ʹ΋Ͱ͖Δ 'BB4޲͚

    View Slide

  33. σϑΥϧτͰՄࢹԽʹରԠ

    View Slide

  34. ෯޿͍૚΁ͷରԠ

    View Slide

  35. %FDMBSBUJWF"QQSPBDI
    $ kubectl apply -f rio-service.yaml
    %PDLFS෩69ͷखଓ͖ܕΦϖϨʔγϣϯͱ
    એݴతΦϖϨʔγϣϯΛཱ྆Ͱ͖Δ
    .BOJGFTU
    .BOJGFTUΛॻ͘એݴతͳΞϓϩʔν΋Մೳ
    ࣮૷͸$3%$POUSPMMFS

    View Slide

  36. ·ͱΊ

    View Slide

  37. ɾ,VCFSOFUFTΛ
    ɾ%PDLFS෩ͷ69Ͱ
    ɾ1BB4తʹ࢖͑Δπʔϧ
    IUUQTSJPJP

    View Slide

  38. )BWFB)BQQZ$POUBJOFS-JGF
    !ZBNBNPUP@GFCD

    View Slide