Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
,*94 ։ൃڥͷมભͱ ΫϥυωΠςΟϒͷҠߦ
Slide 2
Slide 2 text
(.0ϖύϘגࣜձࣾ ٱถഅ!UBLVNBLVNF ιϑτΣΞΤϯδχΞ
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
αʔϏε։͔࢝Β վળ͠์Ͱ͢ʂ
Slide 5
Slide 5 text
ϩϦϙοϓʂͷݱࡏͷߏͱϑΣʔζ w ϩϦϙοϓʂͷ8FCαΠτίϯτϩʔϧύωϧͳͲͷ8FCΞϓϦ έʔγϣϯɺ0QFOTUBDLͰߏங͞ΕͨϓϥΠϕʔτΫϥυ্ʹ 7.ͱͯ͠ߏ͞Ε͍ͯΔɻ w ݱࡏɺΫϥυωΠςΟϒͳڥΛࢦͯ͠ɺ·ͣ։ൃڥ͔Β LVCFSOFUFTपลٕज़ͷಋೖΛߦ͍ͬͯΔɻ w ࠓޙɺϓϩμΫγϣϯڥΫϥυωΠςΟϒͳٕज़Λಋೖ͍ͯ͠ ͘༧ఆͱͳ͍ͬͯΔɻ
Slide 6
Slide 6 text
ຊͷ͓ wϩϦϙοϓͷ։ൃڥͷมભͱͦΕͧΕͷ՝ wϩϦϙοϓͰߏஙͨ͠ΫϥυωΠςΟϒͳ ։ൃڥΛݱঢ়ͷ՝Λަ͑ͯհ ΫϥυωΠςΟϒͳ։ൃڥΛࢧ͑Δཁૉٕज़ͷৄ͍͠આ໌࣌ؒͷ߹্ɺҰ෦ׂѪ͍ͯ͠·͢ɻ ϦϑΝϨϯεΛ͚͍ͭͯΔͷͰޙ΄Ͳޚཡ͍ͩ͘͞ʂ
Slide 7
Slide 7 text
ͱ͜ΖͰɺ օ͞Μ͕ීஈ͏։ൃڥ ΫϥυωΠςΟϒͰ͔͢ʁ
Slide 8
Slide 8 text
ग़యIUUQTTQFBLFSEFDLDPNKBDPQFOGFJCJJQNPVDMPVEOBUJWFGBMTFTIJKJF
Slide 9
Slide 9 text
ग़యIUUQTTQFBLFSEFDLDPNKBDPQFOGFJCJJQNPVDMPVEOBUJWFGBMTFTIJKJF
Slide 10
Slide 10 text
։ൃڥ͜͜Ͱ ࣌ͷมભͱͱʹ ଟ͘ͷมԽ͕͋Γ·ͨ͠
Slide 11
Slide 11 text
ཧαʔό ,7. BQQ BQQ ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# 1$ " σϓϩΠ BQQΛ։ൃʹ͍·͢ʙ ڞ༻7.ظ
Slide 12
Slide 12 text
ཧαʔό ,7. BQQ BQQ ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# 1$ " σϓϩΠ BQQΛ։ൃʹ͍·͢ʙ ڞ༻7.ظ 1$ # !"͞Μ BQQΛগ͍͍ͨ͠Ͱ͢ʂ
Slide 13
Slide 13 text
ཧαʔό ,7. BQQ BQQ ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# 1$ " WJIUUQEDPOG ڞ༻7.ظ ͳΜ͔ಈ͔Μ IUUQEDPOGΠδΔ͔
Slide 14
Slide 14 text
ཧαʔό ,7. BQQ BQQ ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ ࣾ-"/ "1* %# " σϓϩΠ ڞ༻7.ظ 1$ # BQQΛ։ൃʹ͍·͢ʙ !IFSF BQQͷαʔό͕ ಈ͔ͳ͍ΜͰ͚͢Ͳʂ ͏ͬԶͩ
Slide 15
Slide 15 text
ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# ϩʔΧϧ7.ظ 1$ 7JSUVBM#PY BQQ BQQ WBHSBOU ϓϩμΫγϣϯڥΛDIFGͰ ίʔυԽͨ͜͠ͱͰɺखݩͷ WBHSBOUVQ࣌ʹDIFGͰ ϓϩϏδϣχϯά͢Δߏʹ ڞ༻ͷ%#Ҡߦ͍ͯ͠ͳ͍Ұ෦ϩʔϧ -"/Ͱ௨৴͢Δ ։ൃ͕׆ൃͳϩʔϧ͔ΒҠߦ͍ͯͬͨ͠
Slide 16
Slide 16 text
ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# ϩʔΧϧ7.ظ 1$ 7JSUVBM#PY BQQ BQQ WBHSBOU ͏ͬىಈ͠ͳ͘ͳͬͨ DIFG͕͏·͘ಈ͍ͯͳ͍ ։ൃڥΩϨΠʹ͍ͨ͠ͷͰҰ࡞Γ͢ʙ ͏ͬϓϩϏδϣχϯά݁ߏ͔͔࣌ؒΔͳ ͳΜ͔͠ΒΜ͚Ͳಈ͔Μ͘ͳͬͨΜͰ͢
Slide 17
Slide 17 text
ϖύϘͰɺ ΤϯδχΞ͚ͩͰͳ͘ σβΠφʔಉ͡։ൃڥΛ ͍ͬͯ·͢ɻ
Slide 18
Slide 18 text
ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# ϩʔΧϧίϯςφظ 1$ %PDLFS BQQ BQQ EPDLFSDPNQPTF ΞϓϦΛίϯςφԽͯ͠ खݩͷιʔείʔυΛϚϯτͯ͠ ։ൃͰ͖ΔΑ͏ʹͳͬͨ
Slide 19
Slide 19 text
ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# ϩʔΧϧίϯςφظ 1$ %PDLFS BQQ BQQ EPDLFSDPNQPTF ͳΜ͔͠ΒΜ͚Ͳಈ͔Μ͘ͳͬͨΜͰ͢ ɾखݩͷΠϝʔδ͕ݹ͍ ɾผͷίϯςφͱϙʔτ͕ඃͬͯಈ͍ͯͳ͍ ɹίϯςφ͕͋Δ ɾ͍Ζ͍ΖͳαʔϏεͷ։ൃڥ͕खݩʹཚཱͯ͠ ɹύϑΥʔϚϯε͕
Slide 20
Slide 20 text
͕ൃੜ͢Δʹɺ ΤϯδχΞ͕ग़ಈ͢Δඞཁ͕͋Δ͠ɺ ґཔ͢Δଆਏ͍
Slide 21
Slide 21 text
ڥґଘͷղܾͷ߹ ͦͷਓͷ1$ΛआΓͯ ΞϨίϨ͢Δඞཁ͋ͬͯ ੜ࢈ੑ͕͍
Slide 22
Slide 22 text
ΫϥυωΠςΟϒͳ։ൃڥʹͯ͠ ͜ͷ՝Λղܾ͢Δʂ
Slide 23
Slide 23 text
։ൃڥʹٻΊͨ͜ͱ w͖ͳ࣌ʹ͙͑͢Δ wյΕͯ؆୯ʹͱʹΔ wڥґଘʹΑΔ͕ൃੜ͠ʹ͍͘ wৗʹ࠷৽ͷڥΛ͑Δ
Slide 24
Slide 24 text
BQQ BQQ BQQ BQQ 6TFS" 6TFS# ϓϥΠϕʔτΫϥυ 0QFOTUBDL ,VCFSOFUFT σʔληϯλʔ ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# ·ͩҠߦͰ͖ͯͳ͍ ϩʔϧ 1$ " 1$ # ݱࡏͷ։ൃڥ
Slide 25
Slide 25 text
BQQ BQQ BQQ BQQ 6TFS" 6TFS# ϓϥΠϕʔτΫϥυ 0QFOTUBDL ,VCFSOFUFT σʔληϯλʔ ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# 1$ " 1$ # ݱࡏͷ։ൃڥ BQQ BQQ BQQ BQQ 6TFS" 6TFS# 1$ " 1$ # ݸผͷ։ൃڥΛ༻ҙͯ͠ ͖ͳ࣌ʹ͑Δ
Slide 26
Slide 26 text
BQQ BQQ BQQ BQQ 6TFS" 6TFS# ϓϥΠϕʔτΫϥυ 0QFOTUBDL ,VCFSOFUFT σʔληϯλʔ ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# 1$ " 1$ # ݱࡏͷ։ൃڥ ,VCFSOFUFT LVCFSOFUFTΛ࠾༻͍ͯ͠ΔͷͰ ͕ൃੜͯ͠ݩʹ͍͢͠
Slide 27
Slide 27 text
BQQ BQQ BQQ BQQ 6TFS" 6TFS# ϓϥΠϕʔτΫϥυ 0QFOTUBDL ,VCFSOFUFT σʔληϯλʔ ཧαʔό ,7. ձࣾͷย۱ͷαʔόʔࣨ "1* %# 1$ " 1$ # ݱࡏͷ։ൃڥ Ϋϥυ্ʹ։ൃڥ͕͋ΔͨΊ खݩͷڥґଘͷ͕ ൃੜ͠ʹ͍͘ BQQ BQQ BQQ BQQ 6TFS" 6TFS# ϓϥΠϕʔτΫϥυ 0QFOTUBDL ,VCFSOFUFT σʔληϯλʔ
Slide 28
Slide 28 text
։ൃڥʹٻΊͨ͜ͱ w͖ͳ࣌ʹ͙͑͢Δ wյΕͯ؆୯ʹͱʹΔ wڥґଘʹΑΔ͕ൃੜ͠ʹ͍͘ wৗʹ࠷৽ͷڥΛ͑Δ
Slide 29
Slide 29 text
ৗʹ࠷৽ͷڥΛ͑Δ ΞϓϦͷมߋΛ NBTUFSϒϥϯνʹ 1VTI ΞϓϦͷϦϙδτϦ ։ൃऀ "SHP$% NBTUFSϒϥϯνͷ มߋΛࢹ ΞϓϦͷίϯςφ ΠϝʔδΛ #VJME1VTI 1VTI )PPL 1PMM 1VTI NBOJGFTUTͷ JNBHFUBHΛ ࠷৽ʹVQEBUF LVCFSOFUFTͷNBOJGFTUT ͷϦϙδτϦ QSJWBUF EPDLFSSFHJTUSZ 1VTI NBOJGFTUTΛ LVCFSOFUFTڥʹ LVCFDUMͰBQQMZ "QQMZ ։ൃڥͷ LVCFSOFUFTDMVTUFS (JU0QTΛ࣮ݱ͢Δ $%πʔϧ
Slide 30
Slide 30 text
ৗʹ࠷৽ͷڥΛ͑Δ ΞϓϦͷมߋΛ NBTUFSϒϥϯνʹ 1VTI ΞϓϦͷϦϙδτϦ ։ൃऀ "SHP$% NBTUFSϒϥϯνͷ มߋΛࢹ ΞϓϦͷίϯςφ ΠϝʔδΛ #VJME1VTI 1VTI )PPL 1PMM 1VTI NBOJGFTUTͷ JNBHFUBHΛ ࠷৽ʹVQEBUF LVCFSOFUFTͷNBOJGFTUT ͷϦϙδτϦ QSJWBUF EPDLFSSFHJTUSZ 1VTI NBOJGFTUTΛ LVCFSOFUFTڥʹ LVCFDUMͰBQQMZ "QQMZ ։ൃڥͷ LVCFSOFUFTDMVTUFS (JU0QTΛ࣮ݱ͢Δ $%πʔϧ ΞϓϦͷίϯςφ ΠϝʔδΛ #VJME1VTI NBOJGFTUTͷ JNBHFUBHΛ ࠷৽ʹVQEBUF NBOJGFTUTΛ LVCFSOFUFTڥʹ LVCFDUMͰBQQMZ 5BTL 5BTL 5BTL 1JQFMJOF https://speakerdeck.com/pyama86/cloudnative-buildpacksdechuang-ru-cloudnativenakai-fa-ti-yan?slide=45
Slide 31
Slide 31 text
։ൃڥʹٻΊͨ͜ͱ w͖ͳ࣌ʹ͙͑͢Δ wյΕͯ؆୯ʹͱʹΔ wڥґଘʹΑΔ͕ൃੜ͠ʹ͍͘ wৗʹ࠷৽ͷڥΛ͑Δ
Slide 32
Slide 32 text
ΞϓϦͷมߋΛ NBTUFSϒϥϯνʹ 1VTI ΞϓϦͷϦϙδτϦ ։ൃऀ "SHP$% NBTUFSϒϥϯνͷ มߋΛࢹ ΞϓϦͷίϯςφ ΠϝʔδΛ #VJME1VTI 1VTI )PPL 1PMM 1VTI NBOJGFTUTͷ JNBHFUBHΛ ࠷৽ʹVQEBUF LVCFSOFUFTͷNBOJGFTUT ͷϦϙδτϦ QSJWBUF EPDLFSSFHJTUSZ 1VTI NBOJGFTUTΛ LVCFSOFUFTڥʹ LVCFDUMͰBQQMZ "QQMZ ։ൃڥͷ LVCFSOFUFTDMVTUFS (JU0QTΛ࣮ݱ͢Δ $%πʔϧ NBOJGFTUTΛ LVCFSOFUFTڥʹ LVCFDUMͰBQQMZ "QQMZ ։ൃڥͷ LVCFSOFUFTDMVTUFS શ։ൃऀͷڥΛͲͷΑ͏ʹੜ͍ͯ͠Δ͔ʁ
Slide 33
Slide 33 text
LVTUPNJ[F apiVersion: apps/v1beta1 kind: Deployment metadata: name: app spec: replicas: 1 template: metadata: labels: app: app spec: containers: - name: app image: nginx:latest ports: - containerPort: 8080 deployment.yaml apiVersion: v1 kind: Service metadata: name: app spec: type: ClusterIP selector: app: app ports: - port: 8080 protocol: TCP targetPort: 8080 service.yaml resources: - deployment.yaml - service.yaml namePrefix: dev commonLabels: env: dev patchesJson6902: - target: version: v1 kind: Service name: app path: replace_selector.yaml kustomization.yaml - op: replace path: /spec/selector value: app: app env: dev > kubectl kustomize .
Slide 34
Slide 34 text
LVTUPNJ[F --- apiVersion: v1 kind: Service metadata: labels: env: dev name: devapp spec: ports: - port: 8080 protocol: TCP targetPort: 8080 selector: app: app env: dev type: ClusterIP apiVersion: apps/v1beta1 kind: Deployment metadata: labels: env: dev name: devapp spec: replicas: 1 selector: matchLabels: env: dev template: metadata: labels: app: app env: dev spec: containers: - image: nginx:latest name: app ports: - containerPort: 8080 namePrefix: dev commonLabels: env: dev - op: replace path: /spec/selector value: app: app env: dev LVTUPNJ[BUJPOZBNMʹج͍ͮͯϦιʔεΛมߋ͢Δ
Slide 35
Slide 35 text
։ൃऀશһͷڥΛLVTUPNJ[FΛ׆༻ͯ͠ੜ resources: - deployment.yaml - service.yaml namePrefix: dev commonLabels: env: dev patchesJson6902: - target: version: v1 kind: Service name: app path: replace_selector.yaml kustomization.yaml - op: replace path: /spec/selector value: app: app env: dev ɾϦετΛݩʹ࠶ؼతʹੜ͢Δػೳͳ͍ ɾͰࣔ͢෦Λ։ൃऀຖʹॻ͖͑ͯ ɹ࠶ؼతʹLVCFSOFUFTڥʹBQQMZͯ͠ɺ ɹ։ൃऀຖͷڥΛੜ͍ͯ͠Δ ɾॻ͖͑ʹZRίϚϯυΛ͍ͬͯΔ ͨͩ ɾZRίϚϯυͰZBNMΛॻ͖͑Δಛੑ্ ɹཧ͕ࡶʹͳΓɺมߋʹऑ͍ ɾLVCFDUMඪ४Ͱఏڙ͞Ε͍ͯΔ ɹLVTUPNJ[FͷػೳΛ͑ͯΧελϚΠζ ɹ͍ͯ͠ΔͨΊɺ࠷ྑͷํ๏Λࡧத
Slide 36
Slide 36 text
BQQ BQQ BQQ BQQ 6TFS" 6TFS# ϓϥΠϕʔτΫϥυ 0QFOTUBDL ,VCFSOFUFT 1$ " 1$ # LVCFSOFUFT্ͷΞϓϦέʔγϣϯʹରͯ͠ ͲͷΑ͏ͳํ๏Ͱ։ൃ͍ͯ͠Δͷ͔ʁ
Slide 37
Slide 37 text
UFMFQSFTFODFATXBQEFQMPZNFOUAػೳ https://speakerdeck.com/shiro16/telepresence-deshi-meru-k8s-shi-dai-falserokarukai-fa?slide=9
Slide 38
Slide 38 text
deployment pod replica: 1 UFMFQSFTFODFͷ՝ᶃ app1-deployment pod replica: 1 app1-service app1-deployment replica: 0 app1-service ΫϥΠΞϯτ container ଓલ ଓޙ UFMFQSFTFODFa TXBQEFQMPZNFOUBQQEFQMPZNFOU طଘͷEFQMPZNFOUͷ SFQMJDBΛʹ͢Δ UFMFQSFTFODFͷதܧ༻ͷ EFQMPZNFOUʹࠩ͠ସ͑Δ ։ൃର
Slide 39
Slide 39 text
UFMFQSFTFODFͷ՝ᶃ deployment pod replica: 1 app1-deployment replica: 0 app1-service container UFMFQSFTFODFa TXBQEFQMPZNFOUBQQEFQMPZNFOU ɾΫϥΠΞϯτͰಈ࡞͢ΔUFMFQSFTFODF ɹϓϩηεʹରͯ͠$UM$Ͱ4*(*/5Λ ɹૹΔͱɺݩͷEFQMPZNFOUͷSFQMJDBΛ ɹͯ͠ɺUFMFQSFTFODF͕ىಈͨ͠ ɹEFQMPZNFOUΛআͯ͘͠ΕΔɻ ɾ͔͠͠ɺྫ͑UFMFQSFTFODF͕ىಈ ɹ͍ͯ͠ΔλʔϛφϧΛམͱͯ͠γΣϧ ɹ͝ͱࡴ͢ͱɺ্هͷΫϦʔϯφοϓॲཧ ɹ͕ൃੜ͠ͳ͍ɻ FSSPS
Slide 40
Slide 40 text
UFMFQSFTFODFͷ՝ᶄ deployment pod replica: 1 app1-deployment replica: 1 app1-service container UFMFQSFTFODFa TXBQEFQMPZNFOUBQQEFQMPZNFOU pod ΞϓϦέʔγϣϯͷNBTUFSʹมߋ͕͋ͬͨ߹ʹ ৗʹ࠷৽ͷڥʹ͢Δػߏ͕ಇ͖ॏෳىಈঢ়ଶ ʹͳΔ
Slide 41
Slide 41 text
UFMFQSFTFODFͷ՝ᶅ deployment pod replica: 1 app1-deployment replica: 0 app1-service container ͜͜ͰΘΕ͍ͯͨ ΠϝʔδΛ खݩͰىಈ͢Δ ΞϓϦͷNBTUFS͕ߋ৽͞ΕΔʹΠϝʔδ͕ߋ৽͞ΕΔɻ ˠϦϦʔε͕ଟ͍΄ͲJNBHFQVMMͷස্͕͕ΔͷͰΠϝʔδαΠζʹΑͬͯɺ ɹ͜ͷ͕࣌ؒϘτϧωοΫͱͳΔɻ
Slide 42
Slide 42 text
·ͱΊ w։ൃڥ࣌ͷมԽͱͱʹɺ՝Λղ ܾ͢ΔͨΊʹมԽͨ͠ɻ wಉ༷ʹ՝Λղܾ͢ΔͨΊʹLVCFSOFUFTΛ ࢝Ίͱͨ͠ΫϥυωΠςΟϒΛ࣮ݱ͢Δͨ Ίʹదͨ͠पลπʔϧΛΈ߹Θͤͯཧͷ ։ൃڥͷߏஙΛਐΊ͍ͯΔɻ
Slide 43
Slide 43 text
͜Ε͔ΒϓϩμΫγϣϯΛؚΊͯ ΫϥυωΠςΟϒ͍͖͍ͬͯͨਓืूʂ ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU