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/

0ab9bea7e3b879fcf24d5f4c65c1ce9b?s=128

Kazumichi Yamamoto

June 22, 2019
Tweet

Transcript

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

  2. ૝ఆϨϕϧ ஫ҙ ͸͡Ίʹ ɾ%PDLFSجຊతͳ෦෼͸0, ɾ(,&,VCFSOFUFT;ΜΘΓͱཧղ͍ͯ͠Δ ɾৄࡉΛল͍ͯઆ໌͢ΔՕॴ͕ଟʑ͋Γ·͢ ෆ໌఺͸࣭໰͍ͯͩ͘͠͞ ޙ͔ΒͰ΋0, ɾࠓ೔͸ѻΘͳ͍'BB41BB4ͦͷଞϚωʔδυαʔϏεͳͲ΋ ؚΊͨݕ౼͕େࣄͰ͢

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

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

  6. ։ൃ3BODIFS-BCT 044

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

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

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

  11. ͚ͩͰྑ͍ʁ

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

  14. ,VCFSOFUFT೉͍͠໰୊

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

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

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

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

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

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

  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 ಠࣗυϝΠϯ΋࢖͑Δ
  24. ·ΔͰ1BB4ͳύΠϓϥΠϯ

  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
  26. εϜʔζͳϦϦʔε

  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-
  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-
  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 ͜͜΁ͷΞΫηε͕ͰৼΓ෼͚ΒΕΔ
  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 ঃʑʹ΢ΣΠτ͕૿͍͑ͯ͘
  31. εϚʔτͳΦϖϨʔγϣϯ

  32. $ rio run -p 8080/http --name autoscale --scale=0-20 strongmonkey1992/autoscale:v0 "VUP4DBMJOH

    ɾ1SPNFUIFVT͔ΒϝτϦΫεऔಘ ɾऔಘͨ͠ϝτϦΫεʹԠͯ͡Φʔτεέʔϧ ɾεέʔϧ͸ʹ΋Ͱ͖Δ 'BB4޲͚
  33. σϑΥϧτͰՄࢹԽʹରԠ

  34. ෯޿͍૚΁ͷରԠ

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

    ࣮૷͸$3% $POUSPMMFS
  36. ·ͱΊ

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

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