Slide 1

Slide 1 text

Ϋϥ΢υωΠςΟϒΛ૑Δٕज़ ʙݰքṗͰͱΕͨਅୄʹΦʔΨχοΫΦΠϧΛఴ͑ͯʙ @pyama86

Slide 2

Slide 2 text

ࢁԼ࿨඙!QZBNB (.0ϖύϘٕज़ج൫νʔϜ γχΞɾϓϦϯγύϧ UFOTOBQPODPN QZBNBGVO TUOTKQ

Slide 3

Slide 3 text

45/4 -JOVY/444FSWFS TUOTKQ

Slide 4

Slide 4 text

45/4

Slide 5

Slide 5 text

झຯ: ࠗ׆

Slide 6

Slide 6 text

“Έͳ͞Μ͸ɺ CloudNativeͰ͔͢ʁ”

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Ϋϥ΢υωΠςΟϒΛ ૑Δٕज़

Slide 9

Slide 9 text

ࠓ೔࿩͢͜ͱ 1.ϚωʔδυΫϥ΢υʹ͍ͭͯ 2.KubernetesͱϚωʔδυΫϥ΢υͷൺֱ 3.ίϯςφΦʔέετϨʔγϣϯγεςϜͷߏஙɺӡ༻ʹ͍ͭͯ 4.๻ͷ൒ੜͱ༮গظʹ͍͔ʹՄѪ͔͔ͬͨΛٞ࿦

Slide 10

Slide 10 text

–Johnny Appleseed “Ϋϥ΢υωΠςΟϒٕज़͸ɺύϒϦοΫΫϥ΢υɺϓϥΠϕʔτΫϥ ΢υɺϋΠϒϦουΫϥ΢υͳͲͷۙ୅తͰμΠφϛοΫͳ؀ڥʹ͓͍ ͯɺεέʔϥϒϧͳΞϓϦέʔγϣϯΛߏங͓Αͼ࣮ߦ͢ΔͨΊͷ ೳྗΛ૊৫ʹ΋ͨΒ͠·͢ɻ ͜ͷΞϓϩʔνͷ୅දྫʹɺ
 ίϯςφɺαʔϏεϝογϡɺϚΠΫϩαʔϏεɺΠϛϡʔμϒϧΠ ϯϑϥετϥΫνϟɺ͓ΑͼએݴܕAPI͕͋Γ·͢ɻ ͜ΕΒͷख๏ʹΑΓɺճ෮ੑɺ؅ཧྗɺ͓ΑͼՄ؍ଌੑͷ͋Δૄ݁߹ γεςϜ͕࣮ݱ͠·͢ɻ ͜ΕΒΛݎ࿚ͳࣗಈԽͱ૊Έ߹ΘͤΔ͜ͱͰɺ ΤϯδχΞ͸ΠϯύΫτͷ͋ΔมߋΛ࠷খݶͷ࿑ྗͰසൟ͔ͭ༧ଌͲ͓ Γʹߦ͏͜ͱ͕Ͱ͖·͢ɻ”

Slide 11

Slide 11 text

ϨϯλϧαʔόͱΫϥ΢υͷ͍͍ͱ͜ͲΓ ϩϦϙοϓʂϚωʔδυΫϥ΢υ IUUQTNDMPMJQPQKQ

Slide 12

Slide 12 text

ϩϦϙοϓʂϚωʔδυΫϥ΢υͷັྗ • ؆୯ͳΦʔτεέʔϧ • ίϯςφςϯϓϨʔτΛݩʹɺ͙͢ʹ։ൃ͕࢝ΊΒΕΔ • ϨϯαόͷΑ͏ʹDB͕෇ଳ͠ɺ͞ΒʹΠϯϑϥͷӡ༻͸
 ϩϦϙοϓʹ͓೚ͤ

Slide 13

Slide 13 text

ϩϦϙοϓʂϚωʔδυΫϥ΢υͷཁૉٕज़ • FastContainerΞʔΩςΫνϟ • haconiwa

Slide 14

Slide 14 text

FastContainer Webαʔό্Ͱͷϓϩηε࣮ߦํࣜͷҰͭͰ͋ΔFastCGI͔Β @matsumotory ͕ண૝ͨ͠ΞʔΩςΫνϟ FastCGI Client Web Server CGI CGI ϦΫΤετ ىಈཁٻ ىಈ ܭࢉ Ϩεϙϯε FastContainer Client Web Server Container Container ϦΫΤετ ىಈཁٻ ىಈ ܭࢉ Ϩεϙϯε

Slide 15

Slide 15 text

haconiwa • @udzura ࡞ͷmruby੡ίϯςφϥϯλΠϜ • RubyͰίϯςφΛఆٛ • ίϯςφىಈͷ֤εςοϓ΍Ұఆִؒ͝ͱ ϑοΫϙΠϯτ͕͋Δ • CRIUରԠ

Slide 16

Slide 16 text

ϚωʔδυΫϥ΢υ proxy ngx_mruby compute ngx_mruby haconiwa
 backend coreapi CMD B compute ngx_mruby haconiwa
 compute ngx_mruby haconiwa
 ngx_mruby͕σΟεύονϟͱͳΓɺτϥϑΟοΫϧʔςΟϯ ά΍ίϯςφىಈΛߦ͏ NFS Storage

Slide 17

Slide 17 text

ϚωʔδυΫϥ΢υ proxy ngx_mruby compute ngx_mruby haconiwa
 backend coreapi Data
 Store compute ngx_mruby haconiwa
 compute ngx_mruby haconiwa
 ϦΫΤετ୯ҐͷΦʔτεέʔϧ NFS Storage Ϣʔβʔσʔλ͸ ͢΂ͯετϨʔδʹ͋Δ

Slide 18

Slide 18 text

ϚωʔδυΫϥ΢υ ʙίϯςφىಈʙ

Slide 19

Slide 19 text

ϚωʔδυΫϥ΢υ - ίϯςφىಈ CMDB $PSF"1* DPOUBJOFS TUBUVTSFBEZ IPTUDPNQVUF ίϯςφͷ৘ใ SFBEZ଴ػத DPNQVUF $MJFOU TUPSBHF DPNQVUF OGT OGT 8FCQSPYZ http://www.kaasan.info/archives/3733

Slide 20

Slide 20 text

CMDB $PSF"1* DPOUBJOFS TUBUVTCPPUJOH IPTUDPNQVUF ίϯςφͷ৘ใ ίϯςφϨίʔυΛ ىಈத΁ CPPUJOHىಈத DPNQVUF $MJFOU TUPSBHF DPNQVUF OGT OGT http://www.kaasan.info/archives/3733 8FCQSPYZ ໨తͷίϯςφͷ*1͕ -*45&/ͯ͠ͳ͍ ϚωʔδυΫϥ΢υ - ίϯςφىಈ ϦΫΤετܖػͰ
 ৘ใऔಘ

Slide 21

Slide 21 text

CMDB $PSF"1* DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ ίϯςφϨίʔυΛ Քಇத΁ FOBCMFEՔಇத DPNQVUF $MJFOU TUPSBHF DPNQVUF OGT OGT http://www.kaasan.info/archives/3733 ίϯςφىಈ 8FCQSPYZ DPOUBJOFS ίϯςφͷ
 εςʔλεมߋ ϚωʔδυΫϥ΢υ - ίϯςφىಈ

Slide 22

Slide 22 text

CMDB $PSF"1* DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ DPNQVUF $MJFOU TUPSBHF DPNQVUF OGT OGT http://www.kaasan.info/archives/3733 8FCQSPYZ DPOUBJOFS ࣍ͷϦΫΤετ͸طʹ
 ίϯςφىಈࡁΈͳͷͰ௚઀ϓϩΩγ ϚωʔδυΫϥ΢υ - ίϯςφىಈ

Slide 23

Slide 23 text

CMDB $PSF"1* DPOUBJOFS TUBUVTSFBEZ IPTUDPNQVUF ίϯςφͷ৘ใ DPNQVUF $MJFOU TUPSBHF DPNQVUF OGT OGT http://www.kaasan.info/archives/3733 8FCQSPYZ DPOUBJOFS ίϯςφͷण໋͕དྷͨΒ ίϯςφΛఀࢭ͢Δ ϚωʔδυΫϥ΢υ - ίϯςφఀࢭ SFBEZ଴ػத΁ ͳʹ͔ॲཧதͷ৔߹͸ॲཧ͕ ऴΘΔ·Ͱ଴ͭ

Slide 24

Slide 24 text

ϚωʔδυΫϥ΢υ ʙΦʔτεέʔϧʙ

Slide 25

Slide 25 text

CMDB $PSF"1* DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ DPNQVUF $MJFOU TUPSBHF DPNQVUF OGT OGT http://www.kaasan.info/archives/3733 ʘෛՙ΍͹͍ʗ 8FCQSPYZ DPOUBJOFS ίϯςφ௥Ճཁٻ ϚωʔδυΫϥ΢υ - Φʔτεέʔϧ DPOUBJOFS TUBUVTSFBEZ IPTUDPNQVUF ίϯςφ৘ใΛ ௥Ճ

Slide 26

Slide 26 text

CMDB $PSF"1* DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ DPNQVUF $MJFOU TUPSBHF DPNQVUF OGT OGT http://www.kaasan.info/archives/3733 8FCQSPYZ DPOUBJOFS ϦΫΤετܖػͰίϯςφىಈ ϚωʔδυΫϥ΢υ - Φʔτεέʔϧ ίϯςφ৘ใΛ ༗ޮԽ DPOUBJOFS DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF

Slide 27

Slide 27 text

ओཁίϯϙʔωϯτ

Slide 28

Slide 28 text

OpenStack Baremetal

Slide 29

Slide 29 text

ओཁίϯϙʔωϯτ - ngx_mruby NSVCZ@TTM@IBOETIBLF@IBOEMFS@DPEF TTMOHJOY44-OFX DFSUJpDBUF@EBUB'JMFSFBE QBUIUP\TTMTFSWFSOBNF^DSU LFZ@EBUB'JMFSFBE QBUIUP\TTMTFSWFSOBNF^LFZ TTMDFSUJpDBUF@EBUBDFSUJpDBUF@EBUB TTMDFSUJpDBUF@LFZ@EBUBLFZ@EBUB OHJOYͷ͋ΒΏΔΠϕϯτʹϑοΫͯ͠ɺNSVCZͷίʔυΛ࣮ߦ͠ɺ ϓϥΨϒϧʹτϥϑΟοΫίϯτϩʔϧग़དྷΔ

Slide 30

Slide 30 text

ओཁίϯϙʔωϯτ - ngx_mruby • CoreAPIʹϦΫΤετΛ࣮ߦ͠ɺίϯςφϧʔςΟϯάɺίϯςφىಈΛ ߦ͏ • ϦΫΤετ୯ҐͰɺίϯςφʹϔϧενΣοΫΛߦ͏ • ϊϯϒϩοΩϯάʹ৘ใ͕औಘͰ͖ΔΑ͏ngx_mruby v2ʹͯඇಉظεϦʔ ϓɺαϒϦΫΤετΛ࣮૷ • HTTP͸L7ϓϩΩγɺͦΕҎ֎͸L4ϓϩΩγ

Slide 31

Slide 31 text

ओཁίϯϙʔωϯτ - ngx_mruby SFRVFTU SFRVFTU SFRVFTU SVODPOUBJOFS SVODPOUBJOFS SVODPOUBJOFS SFTQPOTF SFTQPOTF SFTQPOTF XPSLFS XPSLFS͋ͨΓͷNSVCZ࣮ߦ ίϯςφىಈ Ͱ
 ඇಉظ*0͕ϒϩοΫ͞ΕΔ ίϯςφىಈ ଴ͪ࣌ؒ

Slide 32

Slide 32 text

ओཁίϯϙʔωϯτ - ngx_mruby /HJOY"TZODTMFFQΛར༻͠ɺίϯςφىಈ଴ͪ࣌ؒΛ ඇಉظʹ4MFFQ͢Δ SFRVFTU SFRVFTU NSVCZ SFTQPOTF SFTQPOTF 8PSLFS MPPQEP CSFBLJGDPOUBJOFSCPPU /HJOY"TZODTMFFQ FOE NSVCZ TMFFQ ίϯςφىಈޙ ඇಉظSleep

Slide 33

Slide 33 text

! ओཁίϯϙʔωϯτ - ngx_mruby ngx_mruby Container • mruby-fast-remote-checkΛ༻͍ͯɺ
 3way ϋϯυγΣʔΫޙʹclose(2) • Ԡ౴͕ͳ͚Ε͹ίϯςφΛىಈ ϔϧενΣοΫ͸ϦΫΤετͷλΠϛϯάͰߦ͏

Slide 34

Slide 34 text

! ओཁίϯϙʔωϯτ - haconiwa 3VCZͷ4ZOUBYͰίϯςφΛఆٛ )BDPOJXBEFpOFEPcDPOpHc DPOpHOBNFOFXIBDPOJXBUPCFIPTUOBNF DPOpHDHSPVQ<DQVTIBSFT> DPOpHDISPPU@UPWBSZPVS@SPPUGT DPOpHOBNFTQBDFVOTIBSFNPVOU DPOpHDBQBCJMJUJFTBMMPXBMM DPOpHDBQBCJMJUJFTESPQDBQ@TZT@BENJO FOE

Slide 35

Slide 35 text

ओཁίϯϙʔωϯτ - CoreAPI(Jardin) • GolangΛ༻͍ͯɺlabstack/echoɺjinzhu/gormΛར༻͠։ൃ • GETܥ͸ݪଇRedisʹΩϟογϡ͠ɺԠ౴ੑೳΛ޲্ • Consul EventΛར༻֤ͯ͠ϩʔϧʹϝοηʔδϯάΛૹΔΑ͏ͳ͜ͱ΋ ΍͍ͬͯΔ

Slide 36

Slide 36 text

ओཁίϯϙʔωϯτ - usermetrics • PrometheusΛ࠾༻͠ɺϢʔβʔίϯςφͷ৘ใΛ͢΂ͯू໿ • ίϯςφͷϦιʔεΛgoogle/cadvisorΛར༻͠ɺexporterܦ༝Ͱऩू • Prometheusܦ༝ͰAlertManager͔ΒWebhookͰΦʔτεέʔϧ • CPUɺMemoryɺNetworkෛՙͰΞϥʔτΛτϦΨʔ

Slide 37

Slide 37 text

ओཁίϯϙʔωϯτ - Scheduler(kangetsu) • ϓϩϏδϣχϯάɾδϣϒεέδϡʔϥʔΛGolangͰrallison/go-workersΛར༻͠։ൃ • ετϨʔδྖҬͷ࡞੒ɺquotaͷઃఆ • DB࡞੒ • WordPressͷϓϨΠϯετʔϧ

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

ओཁίϯϙʔωϯτ - Cleaner(skmr) • ֤ίϯϙʔωϯτͷσʔλෆ੔߹ΛࣗಈͰݕ஌͠मਖ਼ • κϯϏϓϩηεͷຣࡴ • ίϯςφঢ়ଶͱCMDBͷࠩ෼Λऩଋ

Slide 40

Slide 40 text

͓·͚ - Hashicorp Software • αʔϏεσΟεΧόϦʹConsulɺConsul DNSΛϑϧ׆༻ • DBʹ֨ೲ͢Δൿಗ৘ใ͸VaultΛར༻͠҉߸Խ • OpenStackVMͷϓϩϏδϣχϯά͸TerraformΛར༻

Slide 41

Slide 41 text

ͳͥKubernetesͰ͸ͳ͍ͷ͔ʁ

Slide 42

Slide 42 text

ͳͥKubernetesͰ͸ͳ͍ͷ͔ʁ 1.ϖύϘ͸ϗεςΟϯάࣄۀΛఏڙ 2.FastContainerΞʔΩςΫνϟ 3.࣌୅తͳཁҼ 4.ࣄۀࠩผԽ

Slide 43

Slide 43 text

KubernetesͱϚωʔδυΫϥ΢υͷҧ͍ 1.UI/UX 2.ΞʔΩςΫνϟ 3.ίϯςφىಈ 4.Φʔτεέʔϧ

Slide 44

Slide 44 text

UI/UX ϚωʔδυΫϥ΢υ Kubernetes •Ϣʔβʔ͸όοΫΤϯυΛҙࣝ͢Δ͜ͱͳ ͘ɺෛՙʹԠͯ͡Ϧιʔε͕૿ݮ͢Δ •ςϯϓϨʔτΛબ୒͠ɺscp΋͘͠͸gitpush
 ͰΞϓϦέʔγϣϯΛσϓϩΠ •YAMLͰهड़Ͱ͖ΔϦιʔεͰॊೈʹ
 Ϧιʔε͕ఆٛՄೳ •೚ҙͷίϯςφΠϝʔδ͕ར༻ՄೳͰ
 σϓϩΠ͸ίϯςφbuild΋͘͠͸mount

Slide 45

Slide 45 text

ΞʔΩςΫνϟ

Slide 46

Slide 46 text

etcd CMDB kube-api-server Jardin kube-scheduler kube-proxy kubelet container runtime haconiwa ΞʔΩςΫνϟ kubernetes ϚωʔδυΫϥ΢υ ngx_mruby skmr usermetrics

Slide 47

Slide 47 text

etcd CMDB kube-api-server Jardin kube-scheduler kube-proxy kubelet container runtime haconiwa σʔλετΞ kubernetes ϚωʔδυΫϥ΢υ ngx_mruby skmr usermetrics

Slide 48

Slide 48 text

etcd CMDB kube-api-server Jardin kube-scheduler kube-proxy kubelet container runtime haconiwa API&Scheduler kubernetes ϚωʔδυΫϥ΢υ ngx_mruby skmr usermetrics

Slide 49

Slide 49 text

etcd CMDB kube-api-server Jardin kube-scheduler kube-proxy kubelet container runtime haconiwa Node compornents kubernetes ϚωʔδυΫϥ΢υ ngx_mruby skmr usermetrics

Slide 50

Slide 50 text

etcd CMDB kube-api-server Jardin kube-scheduler kube-proxy kubelet container runtime haconiwa Container Runtime kubernetes ϚωʔδυΫϥ΢υ ngx_mruby skmr usermetrics

Slide 51

Slide 51 text

ίϯςφىಈ

Slide 52

Slide 52 text

Kubernetes - ίϯςφىಈ • YAMLΛAPIʹ౤ೖ͢Δ͜ͱͰίϯςφىಈ • ϔϧενΣοΫ͸ProbeͰ࣮ߦ(HTTP/TCP/ExecCommand) • ىಈ࣌ʹߦ͏ͷ͸readinessProbeɺىಈޙ͸livenessProbe • ॳظԽॲཧ͸InitContainerɺPostStartͰॳظԽॲཧΛϑοΫՄೳ • NඵִؒͰϑοΫ͢Δͱ͔ɺ༗ޮظݶ͕དྷͨΒίϯςφΛఀࢭ͢Δʹ͸ί ϯτϩʔϥʔͰಠ࣮ࣗ૷͕ඞཁ

Slide 53

Slide 53 text

ίϯςφىಈϊʔυ͸ͲͷΑ͏ʹܾ·Δʁ ϚωʔδυΫϥ΢υ Kubernetes •ੜଘ͍ͯ͠Δϊʔυͷϥ΢ϯυϩϏϯ •ϊʔυ͕ఀࢭ͍ͯ͠Δ৔߹͸࣍ͷϦΫΤετ ͔ΒੜଘϊʔυͰίϯςφىಈ •kube-scheduler͕ϊʔυΛબ୒͢Δ •ϑΟϧλϦϯά(ϥϕϧɺϦιʔεetc) •είΞϦϯά(෼ࢄɺϦιʔεetc)

Slide 54

Slide 54 text

Φʔτεέʔϧ

Slide 55

Slide 55 text

Φʔτεέʔϧ͸ͲͪΒ΋metricsϕʔε ϚωʔδυΫϥ΢υ Kubernetes •usermetrics(Prometheus)ʹઃఆ͞ΕͨΞϥʔ τ͔ΒWebhookͰCoreAPI͕࣮ߦ͞Εɺίϯ ςφͷ༧໿࿮͕૿͑Δ •εέʔϧΠϯʹ͍ͭͯ͸ɺෛՙ͕Լ͕ͬͨΒ ༧໿࿮͕࡟আ͞Εͯɺίϯςφͷ༗ޮظݶ͕ ౸དྷͨ͠ΒࣗಈͰεέʔϧΠϯ •metric-sserverΛΠϯετʔϧ͢Δͱɺ HorizontalPodAutoscalerΛར༻ͯ͠Ϧιʔε ʹԠͯ͡ΦʔτεέʔϧɾεέʔϧΠϯΛ࣮ ݱͰ͖Δ •ࢦఆͨ͠ෛՙʹͳΔΑ͏ʹϙου͕ௐ੔͞Ε Δ

Slide 56

Slide 56 text

͜͜·Ͱͷ·ͱΊ • ϚωʔδυΫϥ΢υ͸Kubernetes΄ͲॊೈͰ͸ͳ͍͕ɺΠϯϑϥʹৄ͘͠ ͳͯ͘΋࢖͑Δɺ͓खܰΫϥ΢υͰ͋Δ • ΞʔΩςΫνϟ΍ΦʔτεέʔϧͷڍಈͳͲྨࣅ఺΋ଟ͋͘Δ

Slide 57

Slide 57 text

ϚωʔδυΫϥ΢υ΋ Ұ෦Kubernetesར༻

Slide 58

Slide 58 text

No content

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

ͳͥKubernetesͳͷ͔ʁ • ϚτϦϣʔγΧ΋ݕ౼͕ͨ͠ɺγεςϜμ΢ϯ࣌ͷӨڹ͕શஅʹͳΔͨΊ ϦεΫߴ͍ • KubernetesΛࣗ෼͕ͨͪӡ༻͠ɺ஌Δ͜ͱͰΑΓΑ͍Ϋϥ΢υɾωΠςΟ ϒ΁(Ṗ

Slide 61

Slide 61 text

Ϋϥ΢υαʔϏεΛఏڙ͠ͳ͕Βɺ KubernetesΛӡ༻

Slide 62

Slide 62 text

ίϯςφΦʔέετϨʔγϣϯγεςϜ Scheduler compute-node Container Container Container compute-node Container Container Container εέδϡʔϥʔ͕ϊʔυʹϓϩηεΛׂΓ౰ͯɺ ·ͨͦΕΒͷ৘ใ͕ϦΞϧλΠϜʹऩू͞Εɺ ࣗ཯తʹಈ͘γεςϜ

Slide 63

Slide 63 text

ݟͨ͜ͱ͋Δͳʁʁʁ

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

ίϯςφΦʔέετϨʔγϣϯγεςϜ͸OSͬΆ͍ • εέδϡʔϥʔ͕ϓϩηεΛεέδϡʔϦϯά͠ɺͦΕΒͷϑΟʔυόο ΫΛड͚ͳ͕Βಈ͖ଓ͚Α͏ͱ͢Δڍಈ͸OSͱࣅ͍ͯΔ఺͕ଟ͍ • OSͱྨࣅ఺͕ଟ͍ͳΒ͹OSʹ͓͚ΔάουϓϥΫςΟε͕ྑ͍࡞༻Λੜ ΉՄೳੑ͕͋Δ

Slide 67

Slide 67 text

ϩάͷӬଓԽ

Slide 68

Slide 68 text

OS γϯάϧϊʔυͷ৔߹ container log collector

Slide 69

Slide 69 text

ΦʔέετϨʔγϣϯγεςϜ Scheduler compute-node Container Container Container log collector log collector log collector compute-node Container Container Container log collector log collector log collector

Slide 70

Slide 70 text

ΦʔέετϨʔγϣϯγεςϜ Scheduler compute-node Container Container Container log collector log collector log collector compute-node Container Container Container log collector log collector log collector

Slide 71

Slide 71 text

ϩάʹ͓͚Δ՝୊ • ैདྷͷΑ͏ʹ1ϩʔϧ1αʔόͰ͸ͳ͍͜ͱ͔Βɺ1ͭͷαʔόͰෳ਺ͷछ ྨͷϩά͕ग़ྗ͞ΕΔ • ίϯςφͷूੵ཰ΛߴΊΔͱɺچདྷΑΓϩάͷྲྀྔ͸࣮֬ʹ૿͑Δ • ෳ਺ͷछྨͷϩάΛ෼ղɺϧʔςΟϯά͢Δ͜ͱͷෳࡶ͞

Slide 72

Slide 72 text

KafkaͰόοϑΝϦϯά͢Δ compute-node Container Container Container log collector log log Kafka cluster

Slide 73

Slide 73 text

,BGLBͷಛ௃ wߴ଎ॲཧ͕ՄೳͳϝοηʔδϯάγεςϜ w෼ࢄॻ͖ࠐΈɺඇಉظϨϓϦέʔγϣϯ˞ɺ෼ࢄಡΈࠐΈ wॳظ͸-JOLFEJOʹͯ։ൃɺݱঢ়͸"QBDIFࡒஂʹͯ؅ཧɺ -JOLFEJO͔ΒεϐϯΞ΢τͨ͠$POqVFOU͕։ൃΛओମతʹߦ͏ wݴޠ͸+BWBɺ4DBMBͰ։ൃ wΫϥελϦϯά͕ՄೳͰ଱ো֐ੑɺૹୡอূɺݎ࿚ੑ͕ߴ͍

Slide 74

Slide 74 text

LBGLBDMVTUFS ඵͰཧղ͢Δ,BGLB producer (ૹΓख) kafka-broker-1 topic partition-0 kafka-broker-2 topic partition-1 DPOTVNFSHSPVQ consumer (ड͚ख) consumer (ड͚ख) consumer (ड͚ख) ૹΓखͱड͚खΛ/ͱ͢ΔόοϑΝʔ

Slide 75

Slide 75 text

ϩάͷग़ྗ࣌ؒ < Ξοϓϩʔυ࣌ؒ compute-node Container Container Container log collector log log Kafka cluster όϦૣ͍ʂ όϦ஗͍ʂʂʂ

Slide 76

Slide 76 text

KafkaΛڬΉϝϦοτ wίϯςφىಈϊʔυͷϦιʔεΛ༗ޮར༻͢ΔͨΊʹɺϝΠϯΞϓϦ Ҏ֎ͷ࢓ࣄΛͤ͞ͳ͍ w,BGLBΛڬΉ͜ͱͰσʔλ͕ू໿͞ΕΔ͜ͱͰɺଟ͘ͷίϯςφ͔Β ͷ৘ใΛҰՕॴͰѻ͑ΔΑ͏ʹͳΔ w,BGLBDPOOFDUΛར༻͢Δ͜ͱͰଟ͘ͷ044ɺϚωʔδυɾαʔϏε ͱ࿈ܞͰ͖ΔͷͰ͓ಘ

Slide 77

Slide 77 text

ϖύϘ ϩάج൫(௨শେ࿨ా) • ϓϩμΫγϣϯͰར༻͍ͯ͠ΔKubernetes͸͢΂ͯKafkaʹϩάΛू໿ ͠ɺS3΁ͷϩάอશɺGryalogͰͷݕࡧ͕Մೳʹͳ͍ͬͯΔ • ΞϓϦέʔγϣϯ։ൃऀ͸ΞϓϦΛ։ൃ͢Δ͜ͱ͚ͩʹूதͰ͖Δ • ϚωʔδυΫϥ΢υ΋େ࿨ాԽ͍ͨ͠

Slide 78

Slide 78 text

Ϋϥ΢υωΠςΟϒΛ૑Δʹ͸ ·ͣ͸ࣗ෼͕Ϋϥ΢υωΠςΟϒʹͳΔ ඞཁ͕͋Δ

Slide 79

Slide 79 text

ࣗ෼ͨͪͰੈքʹͨͩҰͭͷ Ϋϥ΢υαʔϏεΛ૑Γ ӡ༻͢Δ͜ͱ͸ָ͍͠

Slide 80

Slide 80 text

Ϋϥ΢υαʔϏεΛ૑Γ Ϋϥ΢υαʔϏεͱ૊Έ߹Θͤ ϢʔβʔΛϋοϐʔʹʂʂʂ

Slide 81

Slide 81 text

࠷৽ͷ࠾༻৘ใΛνΣοΫˠ !QC@SFDSVJU Զͱ͜ͷϏοά΢Σʔϒʹ৐ͬͯ͘Εʂʂ̍