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

Kubernetesを知る/Introduction Kubernertes

petitviolet
November 06, 2018

Kubernetesを知る/Introduction Kubernertes

社内勉強会で使った資料。

- kubernetesとは
- 概念・用語
- アーキテクチャ
- 基本操作
- 運用に向けて

petitviolet

November 06, 2018
Tweet

More Decks by petitviolet

Other Decks in Programming

Transcript

  1. LVCFSOFUFT w .JDSPTFSWJDFTΛߏ੒͢Δͷʹ࢖ΘΕΔ w 1PE /PEF 4FSWJDF *OHSFTTͳͲͷάϧʔϐϯά w ΞϓϦέʔγϣϯΛಈ͔͢ͷʹඞཁͳίϯς

    φ܈Λ·ͱΊͯ؅ཧग़དྷΔ w 4FSWJDF%JTDPWFSZͱ͔Λ͏·͘࢖͏ͱ .JDSPTFSWJDFTΛڠௐͤ͞Δ͜ͱ͕ग़དྷΔ
  2. LVCFSOFUFT w ෺ཧαʔόˠ7.ˠίϯςφ w αʔόΛந৅తʹѻ͑͏Α͏ʹͳ͖ͬͯͨ w ଟػೳͳ7.αʔόˠ୯ػೳͳίϯςφ w ࠷ۙͷ.JDSPTFSWJDFTͳྲྀΕ΋͋Δ w

    ୯ػೳͳίϯςφΛͲ͏૊Έ߹Θͤͯಈ͔͢ ͔ɺεέδϡʔϦϯάͨ͠Γ͢Δͷ͕େม w ͦ͜ͰLVCFSOFUFTͱ͍͏ྲྀΕ w %PDLFS4XBSN͸ૣ͗ͨ͢ʜ
  3. ֓೦༻ޠ w 1PE w 3FQMJDB4FU w %FQMPZNFOU w %BFNPO4FU w

    4FSWJDF w *OHSFTT w 7PMVNF w $POpH.BQ 4FDSFU w /BNFTQBDF w FUD
  4. 1PE w ͭҎ্ͷίϯςφͷݻ·Γ w ྫɿ8FCΞϓϦ /HJOY qVFOUE w LVCFSOFUFTͰ؅ཧ͢Δର৅ͷ࠷খ୯Ґ w

    ஀ੜࢮ๢Λͱ΋ʹ͢Δϓϩηε͕1PE w DQVNFNPSZͳͲͷϦιʔε੍ݶΛ͔͚Δ
  5. 4FSWJDF w LVCFSOFUFT্Ͱಈ͘ίϯςφ΁ͷΞΫηε w 1PEʹΞΫηε͢ΔͨΊͷ໊લղܾͷ࢓૊Έ w 3FQMJDB4FU΍%FQMPZNFOU಺ͷ1PEʹ΋ಧ͘ w JQUBCMFTͰؤு͍ͬͯΔ ࠷৽൛ͩͱ*174

     w $MVTUFS*1 /PEF1PSU -PBE#BMBODFS͕සग़ w $MVTUFS*1LTΫϥελ಺ʹดͨ͡4FSWJDF w /PEF1PSU/PEFͷ͋ΔQPSUΛQSPYZ͢Δ w -PBE#BMBODFS--#
  6. *OHSFTT w --# w )551 T -# w 4FSWJDFͷҰछͰ͸ͳͯ͘ผͷίϯϙʔωϯτ w

    ֤Ϋϥ΢υͱ౷߹͞Ε͍ͯΔ΋ͷΛ࢖͏͜ͱ ͕ଟ͍͔΋ w /HJOYΛ*OHSFTTͱͯ͠࢖ͬͨΓ΋ग़དྷΔ
  7. w LVCFBQJTFSWFS w LTͷ"1*Ͱɺ΄΅શͯͷίϯϙʔωϯτ͕BQJTFSWFSΛܦ༝͢Δ w LVCFDUMͷड͚ޱʹ΋ͳ͍ͬͯΔ w LVCFEOT $PSF%/4 

    w LTΫϥελ಺Ͱͷ໊લղܾ΍αʔϏεσΟεΧόϦʹ࢖༻͞ΕΔ%/4 w LVCFDPOUSPMMFSNBOBHFS w EFQMPZNFOUDPOUSPMMFSͳͲΛ࣮ߦ؂ࢹΛߦ͏ w LVCFMFU w ֤/PEFʹσϓϩΠ͞Εɺ%PDLFSͱ࿈ܞͯ͠ίϯςφͷ؅ཧΛߦ͏ w LVCFQSPYZ w ֤/PEFʹσϓϩΠ͞ΕɺτϥϑΟοΫΛసૹͯ͠4FSWJDFΛػೳͤ͞Δ w LVCFTDIFEVMFS w 1PEͷεέδϡʔϦϯά w FUDE w ෼ࢄ,74ͰɺLTΫϥελ಺ͷ৘ใ͕શͯอଘ͞ΕΔ
  8. LVCFSOFUFTͷجຊૢ࡞ $ alias kubectl=ku # お好みで $ ku get <resource|all>(e.g.

    pod, deployment, ns) $ ku describe <resource>/<name>(e.g. deploy/my-api) $ ku logs <pod名> $ ku logs --tail 1000 -f <pod名> # 最新1000行 + 垂れ流し $ ku apply -f <yamlファイル> # createではなくこちら $ ku config get-contexts $ ku config use-context <context名> $ ku config set-context <context名> —namespace=<namespace>
  9. LVCFSOFUFTͷσόοά $ ku describe <resource>/<name> # まず見るべき情報 $ ku get

    -v=6 pod # 詳細なログを表示できる $ ku exec -it <pod名> /bin/bash # docker execと同じ $ ku port-forward <pod名> <local port>:<remote port> $ ku run -it <container> <cmd> # docker runと同じ $ ku proxy # dashboardを見る $ ku cp <local path> pod:<remote path> # scpと同じ
  10. 1PEΛͲ͏࡞Δ͔ w 1PEͷݪଇ w ੜ͖ࢮʹΛͱ΋ʹ͢Δີ݁߹ͳϓϩηε܈ w ίϯςφࣗମ͸جຊతʹϓϩηεͷΈ w 8FC"QQ /HJOY

    qVFOUEͳΒίϯςφ w ࠶ར༻Մೳͳίϯςφ͸੾Γग़͢ w 4JEF$BSύλʔϯͱ͔ݺ͹ΕΔ w 8FC"QQ /HJOY Ͱίϯςφʹ͠ͳ͍
  11. MJWFOFTTSFBEJOFTTQSPCF w LTಛ༗ͳࢮ׆؂ࢹ w ίϚϯυ࣮ߦɺIUUQϦΫΤετͳͲͰνΣοΫ͢Δ w MJWFOFTT w ੜ͖ͯΔ͔Ͳ͏͔νΣοΫ w

    ͩΊͩͬͨΒ1PE࠶ىಈ w SFBEJOFTT w αʔϏεՔಇͰ͖Δ͔νΣοΫ w 1PE࠶ىಈ͸͞Εͳ͍͕τϥϑΟοΫ΋ఀࢭ
  12. MJWFOFTTSFBEJOFTTQSPCF w LTಛ༗ͳࢮ׆؂ࢹ w ίϚϯυ࣮ߦɺIUUQϦΫΤετͳͲͰνΣοΫ͢Δ w MJWFOFTT w ੜ͖ͯΔ͔Ͳ͏͔νΣοΫ w

    ͩΊͩͬͨΒ1PE࠶ىಈ w SFBEJOFTT w αʔϏεՔಇͰ͖Δ͔νΣοΫ w 1PE࠶ىಈ͸͞Εͳ͍͕τϥϑΟοΫ΋ఀࢭ
  13. SFRVFTUTMJNJUT w Ϧιʔεͷཁٻͱ੍ݶ w ࣮ࡍʹSFRVFTUͨ͠෼Λ͖ͬͪΓ࢖͏Θ͚Ͱ͸ͳ͘ɺ σϓϩΠͷ࣌ʹνΣοΫ͞ΕΔ w $16ͷMJNJU௒ա͸஗͘ͳΔ w NFNPSZͷMJNJU௒ա͸00.ͰLJMM͞ΕΔ

    w 1PEͷઃఆʹΑͬͯ͸ࣗಈͰ࠶ىಈ͞ΕΔ w 2P4΋͋Θͤͯ஌͓ͬͯ͘ͱྑ͍ w #FTU&GGPSU#VSTUBCMF(VBSBOUFFE https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  14. SFRVFTUTMJNJUT w $16 w ίΞ਺ϛϦίΞඵΛࢦఆ͢Δ w ίΞN w NFNPSZ w

    ϝϏόΠτͰࢦఆ͠Α͏ w .J#,# https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  15. ϞχλϦϯά w ϊʔυ )PTU  w ྫ -"ͱ͔σΟεΫ༰ྔͱ͔ w ίϯςφ

    w ྫ 1PE಺ͷ%PDLFSίϯςφͷ$16 w LVCFSOFUFT w ྫ %FQMPZNFOU഑ԼͰSFBEZͳ1PE਺
  16. πʔϧ w LVCFDUM w લड़ͷLVCFSOFUFTͷඪ४$-*πʔϧ w LVTUPNJ[F w σϓϩΠ͢Δ؀ڥ͝ͱʹZBNMΛੜ੒ w

    TUFSO w ϩάΛ͍͍ײ͡ʹΈΔ w LVCFDUYLVCFOT w DPOUFYUOBNFTQBDFΛ੾Γସ͑ w NJOJLVCFEPDLFSGPSNBD w ϩʔΧϧʹLVCFSOFUFTΫϥελߏங
  17. $ # yamlを生成(標準出力) $ kustomize build overlays/development/ $ # yaml生成

    + kubectl apply $ kustomize build overlays/production/ \ | kubectl apply -f -