Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
kubernetes-seminar
Search
Tomoki Sugiura
May 15, 2019
0
180
kubernetes-seminar
Tomoki Sugiura
May 15, 2019
Tweet
Share
More Decks by Tomoki Sugiura
See All by Tomoki Sugiura
CiliumによるKubernetes Network Policyの実現 CNDT2021
shanpu
0
1.2k
naist colloquium-B 2
shanpu
0
220
ricc-20210826
shanpu
0
520
IOT53
shanpu
0
84
RICC-PIoT Workshop 2021
shanpu
0
630
ricc-nii-2020
shanpu
0
130
Cloud Native Kansai #05 LT4
shanpu
1
990
gcpug-kyoto#2-LT1
shanpu
0
680
KansaiLT2
shanpu
0
240
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Making Projects Easy
brettharned
117
6.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Bash Introduction
62gerente
614
210k
Writing Fast Ruby
sferik
628
62k
Side Projects
sachag
455
43k
Unsuck your backbone
ammeep
671
58k
Embracing the Ebb and Flow
colly
86
4.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
A better future with KSS
kneath
238
17k
Transcript
Kubernetes جૅษڧձ TIBOQV
ͶΒ͍ 2 ˓ ,VCFSOFUFTͷجૅΛֶͼࠓޙͷษڧʹཱͯͯΒ͏ ˓ ,VCFSOFUFTͷ͜ͱΛ͖ʹͳͬͯΒ͏
Agenda 3 ,VCFSFOFUFTͱ LVCFDUMɾLVCFOTɾLVCFDUY 8PSLMPBETϦιʔε ೝূͱΞʔΩςΫνϟ
%JTDPWFSZ-#Ϧιʔε $POpH4USBHFϦιʔε 0UIFST ͍͞͝ʹ
Link 4 ˓ ϋϯζΦϯࢿྉ ˔ IUUQTHJUIVCDPNDIF[TIBOQVLTTFNJOBS ˓ ࿅श ˔ IUUQTHJUIVCDPNEHLBOBUTJPT$,"%FYFSDJTFT
1. Kubernetesͱ 5
ಡΈํ 6 ,VCFSOFUFT LT SEL@KIT
History 7
KubernetesԿΛߦ͏ʁ 8 ˓ ίϯςφͷཧΛ͍͍ײ͡ʹߦ͏
Kubernetesͷಛ 9 ˓ ϚχϑΣετϑΝΠϧ ˓ εέʔϦϯά ˓ εέδϡʔϦϯά ˓ Ϧιʔεཧ
˓ ηϧϑώʔϦϯά ˓ σʔλͷཧ SEL@KIT
2. kubectlɾkubensɾkubectx 10
KubeCLIπʔϧࡾॐ࢜ 11 ˓ LVCFDUM ˔ ,VCFSOFUFTʹର͢Δ͋ΔΏΔૢ࡞Λߦͬͯ͘ΕΔίϚϯυ ˔ ࣮ࡍʹ,VCFSOFUFTͷ3&45"1*TFSWFSʹରͯ͠ϦΫΤετ Λૹ͍ͬͯΔ ˓
LVCFOT ˔ OBNFTQBDFͷΓସ͑Λ؆୯ʹͯ͘͠ΕΔ ˓ LVCFDUY ˔ DPOUFYUͷΓସ͑Λ؆୯ʹͯ͘͠ΕΔ
kubectl جຊίϚϯυ 12 ˓ ALVCFDUMHFUϦιʔεA ˔ ࢦఆͨ͠ϦιʔεͷεςʔλεΛऔಘ ˔ ALVCFDUMHFUϦιʔε໊લPZBNMAͰͦͷϦιʔεͷϚ χϑΣετΛݟΔ͜ͱͰ͖Δ
˓ ALVCFDUMEFTDSJCFϦιʔε໊લA ˔ ໊લͰࢦఆͨ͠ϦιʔεͷৄࡉΛදࣔ
kubectl جຊίϚϯυ 13 ˓ ALVCFDUMBQQMZGϑΝΠϧͷύεA ˔ ϚχϑΣετϑΝΠϧΛΫϥελʹద༻͢Δ ˓ ALVCFDUMSVOΦϓγϣϯA ˔
໋ྩతʹϦιʔεΛੜ͢Δ ˓ ALVCFDUMDSFBUFϦιʔε໊લA ˔ ࢦఆ໊ͨ͠લͰࢦఆͨ͠ϦιʔεΛ࡞ ˔ ࡞Ͱ͖ΔϦιʔεͷछྨʹݶΓ͋Γ
kubectl جຊίϚϯυ 14 ˓ ALVCFDUMEFMFUFϦιʔε໊લA ˔ ࢦఆͨ͠ϦιʔεΛআ ˔ GͰϚχϑΣετʹهࡌ͞Ε͍ͯΔϦιʔεΛআ ˓
ALVCFDUMFYQMBJOϦιʔε ϑΟʔϧυ໊ A ˔ ֤ϦιʔεͷϚχϑΣετϑΝΠϧʹهࡌ͢ΔϑΟʔϧυͷ ใΛදࣔ
kubensɾkubectx 15 ˓ LVCFOT ˔ ΫϥελͷOBNFTQBDFΛҰཡදࣔ ˔ ALVCFOTOBNFTQBDF໊AͰOBNFTQBDFͷΓସ͑ ˓ LVCFDUY
˔ ࣗͷॴ͍࣋ͯ͠ΔίϯςΩετΛҰཡදࣔ ˔ ALVCFDUYίϯςΩετ໊AͰίϯςΩετͷΓସ͑
3. WorkloadsϦιʔε 16
ུ֓ਤ 17
Pod (po) 18 ˓ 8PSLMPETϦιʔεͷ࠷খ୯Ґ ˓ $POUBJOFS㱨1PE ˓ σβΠϯύλʔϯ ˔
αΠυΧʔύλʔϯ ˔ Ξϯόαμʔύλʔϯ ˔ Ξμϓλύλʔϯ
ReplicaSet (rs) 19 ˓ SFQMJDBTͰҡ͍࣋ͨ͠1PEͷ Λࢦఆ ˓ 3FQMJDB4FU୯ମͰ͏͜ͱ ͋·Γͳ͍ ˔
ޙड़ͷ%FQMPZNFOUΛ͏
Deployment (deploy) 20 ˓ 3FQMJDB4FUΛཧ ˔ ϩʔϦϯάΞοϓσʔτ ˔ ϩʔϧόοΫ ˓
BQQMZ͢Δͱదͳ3FQMJDB4FU Λ࡞
DeploymentͷϩʔϦϯάΞοϓσʔτ 21
DeploymentͷϩʔϦϯάΞοϓσʔτ 22
StatefulSet (sts) 23 ˓ σʔλΛӬଓԽ͢ΔΈ Λඋ͑Δ ˓ 1PEͷ໊લʹΠϯσοΫε ͕αϑΟοΫεͱͯͭ͘͠
DaemonSet (ds) 24 ˓ ֤ϊʔυʹඞͣҰͭ1PEΛ ஔ͢Δ ˓ /PEF4FMFDUPSΛ͑ ஔ͠ͳ͍͜ͱՄೳ
Job 25 ˓ ίϯςφΛར༻ͯ͠ҰݶΓ ͷॲཧΛ࣮ߦͤ͞Δ ˓ ࣮ߦํ๏ྃ݅ΛࢦఆͰ ͖Δ ˔ /ฒྻͰ࣮ߦͯ͠΄͍͠
˔ /ճޭͨ͠Βਖ਼ৗऴྃʹͯ͠ ΄͍͠ ˔ /ճࣦഊͨ͠Β͏͠ͳͯ͘ ͍͍
CronJob (cj) 26 ˓ +PCΛఆظ࣮ߦ ͯ͘͠ΕΔ
4. ೝূͱΞʔΩςΫνϟ 27
NamespaceͱRBAC 28
ClusterͱNode 29
MasterNodeͱNode 30
5. Discovery & LB Ϧιʔε 31
ClusterIPɾExternalIP 32 ˓ $MVTUFS*1 ˔ Ϋϥελ෦ͷ*1 ˓ &YUFSOBM*1 ˔ Ϋϥελ֎෦ͱૄ௨ੑͷ͋
Δ*1
NodePort 33 ˓ ͦΕͧΕͷ/PEFͷࢦఆ 1PSUͷτϥϑΟοΫΛɼ ͦΕʹඥ͚ͮͨ1PEͷ1PSU సૹ ˓ $MVTUFS*1ࣗಈతʹൃߦ
LoadBalancer 34 ˓ Ϋϥελ֎ʹ-#Λ࡞ ˔ -#ʹ֎෦ૄ௨ੑͷ͋Δ*1Λ ༩
Ingress 35 ˓ -ͷϩʔυόϥϯα ˓ *OHSFTT$POUSPMMFS͕ ผ్ඞཁ
6. Config & Strage Ϧιʔε 36
Secret 37 ˓ ओʹػີใͷอʹ͏ ˓ ,FZ7BMVFͷܗͰهड़ ˓ 7BMVFCBTFͰΤϯ ίʔυ
ConfigMap (cm) 38 ˓ 4FDSFUͷػີใ͡Όͳ͍൛ ˓ ϑΝΠϧͷதΛॻ͍ͯͦΕ ΛϚϯτͤ͞Δ͍ํΑ ͘͢Δ
PersistentVolume (pv) 39 ˓ ӬଓԽྖҬͱͯ֬͠อ ˓ ༧ΊετϨʔδΛ༻ҙ͓ͯ͘͠
PersistentVolumeClaim (pvc) 40 ˓ 1FSTJTUFOU7PMVNF$MBJN ܦ༝Ͱ17Λ֬อ͢Δ ˓ 17$ͷཁٻʹ߹ͬͨ17͕ ͍ग़͞ΕΔ
7. Others 41
NetworkPolicy 42 ˓ 1PEಉ࢜ͷ௨৴Λ੍ޚ ˔ ྫ ಉ͡/BNFTQBDFͷ1PE ͔͠௨৴Ͱ͖ͳ͍Α͏ʹ͢Δ
NodeSelectorɾNodeAffinity 43 ˓ 1PEͷεέδϡʔϦϯά ઌΛࢦఆ ˓ 1PETQFDʹهड़ ˓ /PEF"⒏OJUZͷํ͕ΑΓ ࡉ͔͍݅ઃఆ͕Մೳ
TaintɾTolerations 44 ˓ 5BJOUʢԚΕʣ ˔ 1PEΛεέδϡʔϦϯά ͤ͞ͳ͍ ˓ 5PMFSBUJPOTʢ༰ʣ ˔
5BJOUͷ͍ͭͨ/PEFʹ εέδϡʔϦϯά͞ΕΔ
Ϧιʔεͷ੍ݶ 45 ˓ ༻͢ΔϚγϯϦιʔεͷ ্ݶͱԼݶΛઃఆͰ͖Δ
8. ͍͞͝ʹ 46
հͰ͖ͳ͔ͬͨ͜ͱ 47 ˓ )PSJ[POUBM1PE"VUPTDBMFS ˓ 7FSUJDBM1PE"VUPTDBMFS ˓ %SBJOɼ$PSEPOɼ6ODPSEPO ˓ 1PE%JTSVQUJPO#VEHFU
˓ $VTUPN3FTPVSDF%FpOJUJPO ˓ $MVTUFS3PMFɼ$MVTUFS3PMF#JOEJOH ˓ 4FSWJDF"DDPVOU FUD
ࢀߟਤॻ 48 ˓ ,VFCFSOFUFTશΨΠυ ˔ ,VCFSOFUFTͷجຊཁૉΛཏ ͍ͯ͠Δ ˔ αϯϓϧίʔυɼਤଟ͘Θ͔ Γ͍͢
˓ ଞʹ,VCFSOFUFTຊ͋Δ ˔ ͠ങͬͨਓ͕͍ͨΒײڭ͑ ͍ͯͩ͘͞
Πϕϯτ& Slack 49 ˓ Πϕϯτ ˔ DPOOQBTTͰௐΔͱΘΓͱώοτ͢Δ ˔ ,VCFSOFUFT.FFUVQ5PLZPͳͲϏσΦ৴͍ͯ͠ΔΠϕϯτ͋Δ ˓
4MBDL ˔ ,VCFSOFUFTϢʔβͷͨΊͷϫʔΫεϖʔε͕͋Δ ˔ ຊਓͷͨΊͷνϟϯωϧ͋Δ ˔ ௐͯΘ͔Βͳ͍͜ͱ͜͜ʹ͛ͯΈΔͷΑ͍
50 ͓ർΕ༷Ͱͨ͠