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

ステートフルアプリ on Kubernetesの現在と今後の展望

ステートフルアプリ on Kubernetesの現在と今後の展望

CloudNative Days Tokyo2021 (11/5)の発表資料です。

Yukinori Sakashita

November 05, 2021
Tweet

More Decks by Yukinori Sakashita

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ ‣ ٕज़ݚڀΤϦΞ  ӡ༻؅ཧٕज़  Ϋϥ΢υ  αʔόετϨʔδ 

    ࣗಈࣗ཯ίϯϐϡʔςΟϯά  "*.- // ).. #BZFTJBO/FUXPSL  ‣ ৬ྺ  ೔ཱ੡࡞ॴ 㾎தԝݚڀॴԣ඿ݚڀॴ ओ೚ݚڀһ  㾎ւ֎ݚڀॴ!γϦίϯόϨʔ ϥϘ௕   αʔόϕϯμʔ ςΫχΧϧ4& 2 ࡔԼ޾ಙ ത࢜  :VLJOPSJ4BLBTIJUB 1I% ‣ ϠϑʔגࣜձࣾθοτϥϘגࣜձࣾ ‣ 4/*"೔ຊࢧ෦ٕज़ҕһձ෭ҕһ௕ ݉Ϣʔεέʔε෼Պձ௕ ‣ 4/*"5FDIOJDBM$PVODJM"EWJTPS
  2. εςʔτϑϧΞϓϦͷ෩ධ ‣ ೥ࠒ 7.ͷීٴ࢝Ί   ʮ7.ͰεςʔτϑϧΞϓϦ %# Λಈ͔͢ͳΜͯ༗Γಘͳ͍ʯ ‣

    ೥  7.ͰεςʔτϑϧΞϓϦ͕࢖͑ͳ͍ͱ͍͏ਓ͸ɺ΄΅ډͳ͍  ϕΞϝλϧPS7.Λཁ݅΍ӡ༻ํ਑ʹΑΓબ୒ ‣ ҰํɺʮίϯςφͰεςʔτϑϧΞϓϦΛಈ͔͢ͳΜͯ༗Γಘͳ͍ʯ 
 ʮίϯςφ͸εςʔτϑϧΞϓϦ͕ۤखʯͱࢥ͍ࠐΜͰ͍Δਓ͕ɺҙ֎ͱଟ͍   ೉͍͠ɺෳࡶ   ੑೳ͕ѱ͍ʁ 5
  3. ίϯςφରԠͷεςʔτϑϧΞϓϦ ‣ .Z42- 1PTUHSF42- $BTTBOESB 3FEJT ͳͲଟ͘ͷεςʔτϑϧΞϓϦ͸ 
 ίϯςφʹରԠ ‣

    ,VCFSOFUFTͷϑϨʔϜϫʔΫΛ࢖ͬͨ 0QFSBUPS ͷొ࿥αΠτ 0QFSBUPS)VCJP ʹ΋εςʔτϑϧΞϓϦ͕ଟ͘ొ࿥ 7 $BUFHPSJFT /VNCFSPG*UFNT "*.BDIJOF-FBSOJOH  "QQMJDBUJPO3VOUJNF  #JH%BUB  $MPVE1SPWJEFS  %BUBCBTF  %FWFMPQFS5PPMT  %SJWFSTBOEQMVHJOT  *OUFHSBUJPO%FMJWFSZ  -PHHJOH5SBDJOH  .PEFSOJ[BUJPO.JHSBUJPO  .POJUPSJOH  /FUXPSLJOH  0QFO4IJGU0QUJPOBM  4FDVSJUZ  4UPSBHF  4USFBNJOH.FTTBHJOH  0QFSBUSP)VCJPͷొ࿥਺ ࣌఺ ΦϖʔϨʔλʹ͍ͭͯ͸ɺޙ΄Ͳ঺հ
  4. ,VCFSOFUFTͷετϨʔδϞσϧ ‣ ,VCFSOFUFTͰ͸ετϨʔδΛந৅Խ ‣ ϕϯμʔχϡʔτϥϧͳϞσϧ  1FSTJTUFOU7PMVNF$MBJN  1FSTJTUFOU7PMVNF 

    4UPSBHF$MBTT ‣ ετϨʔδͷਂ͍φϨοδͳ͘ѻ͑Δ 
 Ϟσϧ ‣ ετϨʔδͷૢ࡞ͳ͠Ͱ7PMVNFΛ 
 ίϯςφʹࣗಈͰϚ΢ϯτ 8 ར༻ऀ ؅ཧऀ
  5. ίϯςφ·ͰͷϘϦϡʔϜͷύε σΟϨΫτϦ σόΠε EFWTEC  EFWTEB ֎෦ετϨʔδ ಺ଂσΟεΫ ίϯςφ NOUEBUB

    WBSMJCLVCFMFUQPET1PEͷNFUBEBUBVJEWPMVNFTLVCFSOFUFTJPdDTJ17ͷNFUBEBUBOBNFNPVOU
  6. ϕΞϝλϧɾίϯςφɾ7.ͷൺֱ ϕΞϝλϧ 7. Ծ૝σΟεΫ 7. ύεεϧʔ ίϯςφ ,VCFSOFUFT %FWJDF'JMF 'JMF4ZTUFN

    7. )ZQFSWJTPS 7. )ZQFSWJTPS %FWJDF'JMF $POUBJOFS /PEF %FWJDF'JMF 'JMF4ZTUFN 7PM /PEF %FWJDF'JMF 'JMF4ZTUFN "QQ 'JMF4ZTUFN %FWJDF'JMF "QQ 7PM 7PM 7PM 7JSUVBM %*TL "QQ 'JMF4ZTUFN "QQ %FWJDF'JMF ‣ ίϯςφPO7.ͷ৔߹͸ɺίϯςφͱ7.ͷೋ֊ݐͯ
  7. ίϯςφͷੑೳʹؔ͢Δࢀߟ࿦จ ‣ *#."VTUJO3FTFBSDI-BCPSBUPSZͷ 
 8FT'FMUFS "MFYBOESF'FSSFJSB 3BN3BKBNPOZ  +VBO3VCJP͕ൃද ‣

    l"O6QEBUFE1FSGPSNBODF$PNQBSJTPOPG7JSUVBM .BDIJOFTBOE-JOVY$POUBJOFSTz ‣ /BUJWF %PDLFS ,7.ͰͷϕϯνϚʔΫ݁ՌΛղઆ 11 ग़యɹIUUQTJFFFYQMPSFJFFFPSHEPDVNFOU
  8. εςʔτϑϧΞϓϦͷӡ༻ ‣ εςʔτϑϧΞϓϦͰ͸7.ɾίϯςφ ,VCFSOFUFT ʹؔΘΒͣ 
 7PMVNFΛׂΓ౰ͯΔҎ֎ʹ΋ߟ͑ΔϙΠϯτ͋Γ  γϟοτμ΢ϯ͢ΔલʹΩϟογϡ্ͷσʔλΛετϨʔδ΁ 


    ॻ͖ग़ͨ͢Ίʹ4ZOD 'MVTI ͕ඞཁ  εςʔτϑϧΞϓϦʹΑͬͯ͸εέʔϧΞ΢τ΍όʔδϣϯΞοϓ࣌ʹɺ 
 σʔλಉظ΍ϦετΞͷૢ࡞͕ඞཁ 12 ☝σʔλΛ࣋ͨͳ͍εςʔτϨεΞϓϦͰ͸ෆཁ
  9. .Z42-ͷεέʔϧΞ΢τͷྲྀΕ 13 4PVSDF 3FQMJDB 4PVSDF  ৽͍͠.Z42-ͷ1PEΛ࡞੒ /FX 4PVSDF 

    όοΫΞοϓΛऔಘ /FX #BDLVQ -PH1PTJUJPO 4PVSDF  όοΫΞοϓΛΠϯϙʔτ /FX #BDLVQ -PH1PTJUJPO 4PVSDF  3FQMJDBͱͯ͠ىಈ 3FQMJDB ࢀরܥ42- ߋ৽ܥ42- .Z42-$MJFOUT .Z42-Ϛϧνߏ੒ εέʔϧΞ΢τ࣌ͷ3FQMJDB૿ઃεςοϓ 4UPSBHF
  10. ,VCFSOFUFTͰͷ࣮ݱํ๏ ‣ େ͖ͭ͘ͷύλʔϯ ‣ εΫϦϓτԽࣗ͠ಈԽ  JOJU$POUBJOFS΍αΠυΧʔίϯςφͳͲͰεΫϦϓτΛ࣮ߦ˞  εΫϦϓτΛ಺แ͠ɺࣄલ࣮ߦ͢ΔίϯςφΠϝʔδΛ࡞੒ ‣

    3FDPODJMJBUJPO-PPQΛ׆༻ͨ͠0QFSBUPS ΧελϜϦιʔε  
 ΧελϜίϯτϩʔϥ ʹΑΔࣗ཯؅ཧ 14 3FDPODJMJBUJPO 
 -PPQ ؂ࢹ ࠩ෼நग़ ߋ৽ ˞ࢀߟ৘ใɹ 
 IUUQTLVCFSOFUFTJPKBEPDTUBTLTSVOBQQMJDBUJPOSVOSFQMJDBUFETUBUFGVMBQQMJDBUJPO
  11. ࣗ཯؅ཧͱ͸ 15 ‣ ೥ॳ಄ʹ*#.͔ࣾΒࣗ཯ίϯϐϡʔςΟϯάͷ֓೦͕ఏএ ‣ ͦͷޙɺࣗ཯ίϯϐϡʔςΟϯάͷ؅ཧํ๏ͱͯࣗ͠཯؅ཧ͕ొ৔ ‣ ࣗ཯ίϯϐϡʔςΟϯά͸ɺਓؒͷࣗ཯ਆܦͷΑ͏ʹίϯϐϡʔλ͕ࣗ཯తʹ 
 ࣗݾ؅ཧΛߦ͏ߟ͑ํ

     ࣗݾߏ੒ 4FMG$PO fi HVSJOH ɺࣗݾम෮ 4FMG)FBMJOH ɺ 
 ࣗݾ࠷దԽ 4FMG0QUJNJ[JOH ɺࣗݾ๷Ӵ 4FMG1SPUFDUJOH  ‣ ࣗ཯؅ཧ͸,OPXMFEHFΛ֩ʹ 
 .POJUPSˠ"OBMZ[Fˠ1MBOˠ&YFDVUFͷϧʔϓʹΑΓ؅ཧ ग़య +F ff SFZ0,FQIBSUBOE%FWJE.$IFTT5IF7JTJPOPG"VUPOPNJD$PNQVUJOH *&&&$PNQVUFS4PDJFUZ QQr   (-BOGSBODIJ 1%1FSVUB "1FSSPOFBOE%$BMWBOFTF5PXBSEB/FX-BOETDBQFPG4ZTUFNT.BOBHFNFOUJOBO"VUPOPNJD$PNQVUJOH&OWJSPONFOU *#.4:45&.4+063/"- 7PM /P QQr  
  12. ϓϩηεͷՔಇ཰ .5#' ฏۉނোִؒ  .553 ฏۉम෮࣌ؒ  Քಇ཰Քಇ࣌ؒͷ૯࿨શମ࣌ؒ.5#' .5#' .553

    Քಇ࣌ؒ ఀࢭ࣌ؒ Քಇ࣌ؒ ఀࢭ ෼ Քಇ࣌ؒ ఀࢭ ෼ Քಇ࣌ؒ ఀࢭ ෼ ʜ Քಇ࣌ؒ ఀࢭ ෼ Քಇ࣌ؒ ఀࢭ ෼ ύλʔϯ೥ؒͷՔಇ཰ɹ .5#'࣌ؒ .553࣌ؒ ೥ؒ࣌ؒ ೔ ࣌ؒ ύλʔϯ೥ؒͷՔಇ཰ .5#'࣌ؒ .553࣌ؒ ෼  ‣ ίϯςφ΍,VCFSOFUFT͸.553Λ୹͘͢Δͷʹ༗ޮͳٕज़ ‣ ಉ͡Քಇ཰Ͱ΋ύλʔϯ͸͋Γ ఀࢭ࣌ؒ͸ো֐͚ͩͰͳ͘ 
 εέʔϧมߋɾόʔδϣϯΞοϓͳͲͷܭըతͳఀࢭ΋ؚΉ
  13. τϨΠϧϚοϓ 18  ϑΝΠϧڞ༗  όοΫΞοϓ  γϯάϧߏ੒ͷεςʔτϑϧΞϓϦ  Ϛϧνߏ੒ͷεςʔτϑϧΞϓϦ

     0QFSBUPS։ൃʹΑΔࣗ཯؅ཧ 1. File sharing 2. Backup 3. Stateful App(Single) 4. Stateful App(Multi) 5. Developing Operator for Autonomous Management
  14. ϑΝΠϧڞ༗ 19 ‣ ·ͣ͸17$17ʹ׳ΕΑ͏ ‣ 17$17Λ࢖ͬͯ1PEؒͰϑΝΠϧΛڞ༗ ྫಉछΞϓϦͰͷϑΝΠϧڞ༗ ྫҟछΞϓϦͰͷϑΝΠϧڞ༗ ྫ։ൃɾσόοΫ༻ͷϑΝΠϧஔ͖৔ 8FC4FSWFS

    8FC4FSWFS ը૾ɾಈըɾ ੩తίϯςϯπFUD Ϟσϧσʔλ .-5SBJOJOH .-4FSWJOH 3 3FBE 8 8SJUF 38 38 8 3 6CVOUV Ұ࣌తͳ1PE γΣϧΤσΟλઃఆϑΝΠϧɺ 
 CBTISD WJNSDFUD  σόοΫ༻πʔϧεΫϦϓτͳͲ 17$17͸࡟আͤͣ࢖͍ճ͠
  15. όοΫΞοϓ 20 ‣ σʔλΛόοΫΞοϓ͢Δํ๏Λ஌Γɺো֐࣌ͳͲͷσʔλϩετʹඋ͑Δ ‣ 7PMVNF4OBQTIPU 7PMVNF$MPOJOHͳͲͷ࢖͍ํͱಛੑΛཧղ ‣ ετϨʔδᝑମ֎΁ͷόοΫΞοϓͱόοΫΞοϓπʔϧΛཧղ ࠩ෼σʔλ

    ࠩ෼σʔλ ετϨʔδ# 
 ΦϒδΣΫτετϨʔδͳͲ ετϨʔδ" $MPOJOH 4OBQTIPU 4OBQTIPU 3FTUPSF #BDLVQ ,BOJTUFS <ࢀߟ৘ใ>  l1FSTJTUFOU7PMVNFͷҰาਐΜͩ࢖͍ํz $/%5 
 IUUQTTQFBLFSEFDLDPNZTBLBTIJUBQFSTJTUFOUWPMVNFGBMTFCVKJOOEBTIJJGBOH  l,VCFSOFUFTͷϦιʔεɾ1FSTJTUFOU7PMVNFΛόοΫΞοϓ͢Δ7FMFSPͷݕূz 
 IUUQTRJJUBDPNZTBLBTIJUBJUFNTBCBEBDFDFB  l,VCFSOFUFT/BUJWFͳόοΫΞοϓπʔϧ,BOJTUFSͷݕূz 
 IUUQTRJJUBDPNZTBLBTIJUBJUFNTFECGE
  16. 0QFSBUPS։ൃʹΑΔࣗ཯؅ཧ 23 TPVSDF SFQMJDB SFQMJDB ɾɾɾ Controller ‣ ࣗ૊৫ͷӡ༻खॱ΍ϊ΢ϋ΢Λ0QFSBUPS΁࣮૷ ‣

    0QFSBUPSʹΑΔࣗ཯ӡ༻ԽΛߦ͍ɺ؅ཧෛՙͷܰݮ΍ϊ΢ϋ΢ͷଐਓԽΛ࡟ݮ ྫ0QFSBUPSʹΑΔϚϧνߏ੒ͷσʔλϕʔε؅ཧ 0QFSBUPS Ϛϧνߏ੒ͷσʔλϕʔε ؅ཧ ࣗ཯
  17. &EHF؀ڥ޲͚ͷετϨʔδ 26 ‣ 4%4 4PGUXBSF%F fi OFE4UPSBHF ΛίϯςφԽ͠ɺ,VCFSOFUFT্Ͱ 
 ಈ࡞ͤ͞Δ,VCFSOFUFT/BUJWF4UPSBHF͕ීٴ

    
 FH3PPL $FQI -POHIPSO 0QFO&#4ͳͲ  ‣ ,VCFSOFUFT/BUJWF4UPSBHF͕ଓʑͱBSNରԠ 
 FH-POHIPSOW ,4ରԠ BSN ` 0QFO&#4W BSNରԠ ` 3PPL $FQI W `  ‣ 3BTQCFSSZ1JͳͲখܕͷίϯϐϡʔλͰ΋ಈ࡞Մೳ ‣ *P5ͳͲ&EHFଆͰσʔλॲཧΛߦ͍͍ͨ৔߹ʹ΋׆༻Ͱ͖ΔΑ͏ʹͳΓ 
 Ϣʔεέʔε͕޿͕Δ͜ͱΛظ଴
  18. ΞϓϦ࿈ܞͷόοΫΞοϓ 27 ‣ ʹઃཱ͞Εͨ4*(4UPSBHF͔Β೿ੜ͠%BUB1SPUFDUJPO8(͕஀ੜ ‣ ΞϓϦࢹ఺ͰͷόοΫΞοϓʹ͍ͭͯٞ࿦ 6T 6TFS TUBSUT CBDLVQ

    ,4 3FTPVSDF#BDLVQ %BUB #BDLVQ "QQMJDBUJPO/BUJWF %BUB%VNQ &YQPSU #BDLVQ /BUJWF $POUSPMMFS $PPSEJOBUFE 2VJFTDF 7PMVNF 4OBQTIPU 
 PS#BDLVQ :FT /P 5ZQJDBM"QQ#BDLVQ8PSL fl PX 6ORVJFTDF 5ZQJDBM"QQ3FTUPSF8PSL fl PX 6T 6TFS TUBSUT SFTUPSF *NQPSU #BDLVQ ,4 3FTPVSDF 3FTUPSF 17$17 3FTUPSF 3FTUPSFGSPN OBUJWFEBUB EVNQ 3FIZESBUF17$GSPN 7PMVNF4OBQTIPU 7PMVNF#BDLVQ /BUJWF :FT /P ग़య,VCF$PO $MPVE/BUJWF$PO&VSPQF7JSUVBM  
 l,VCFSOFUFT%BUB1SPUFDUJPO8(*OUSPBOE%FFQ%JWFz 
 IUUQTLDDODFVTDIFEDPNFWFOUJ&/
  19. ,4ίϯϙʔωϯτ #BDLVQʣ 28 %BUB #BDLVQ "QQMJDBUJPO/BUJWF %BUB%VNQ &YQPSU #BDLVQ /BUJWF

    $POUSPMMFS $PPSEJOBUFE 2VJFTDF 7PMVNF 4OBQTIPU 
 PS#BDLVQ :FT /P 6ORVJFTDF 1SPDFTT &YJTUJOH,4$PNQPOFOU 8*1,4$PNQPOFOU .JTTJOH,4$PNQPOFOU 6TFECZ 8PSLMPBE"1* 4JH"QQT"QQMJDBUJPO ,4 3FTPVSDF#BDLVQ $04* #BDLVQ 3FQPTJUPSZ "QQMJDBUJPO #BDLVQ $POUBJOFS/PUJ fi FS 7PMVNF4OBQTIPU 7PMVNF#BDLVQ
  20. ,4ίϯϙʔωϯτ 3FTUPSFʣ 29 1SPDFTT &YJTUJOH,4$PNQPOFOU 8*1,4$PNQPOFOU .JTTJOH,4$PNQPOFOU 6TFECZ *NQPSU #BDLVQ

    17$17 3FTUPSF 3FTUPSFGSPN OBUJWFEBUB EVNQ 3FIZESBUF17$GSPN 7PMVNF4OBQTIPU 7PMVNF#BDLVQ /BUJWF :FT /P "QQMJDBUJPO 3FTUPSF $04* ,4 3FTPVSDF 3FTUPSF 7PMVNF4OBQTIPU 7PMVNF#BDLVQ #BDLVQ 3FQPTJUPSZ
  21. ఏҊதͷ,&1 30 ‣ 4UBUFGVM"QQMJDBUJPO%BUB.BOBHFNFOU"1* ,&1   ΞϓϦέʔγϣϯϨϕϧͰͷ4OBQTIPU 3FTUPSF $MPOFͳͲΛఏҊ

     $POUBJOFS/PUJ fi FSͳͲଞ,&1Λ༏ઌ͍ͯ͠ΔͨΊΑΓߋ৽ͳ͠ ‣ $POUBJOFS/PUJ fi FS ,&1  Ξοϓσʔτ   ΞϓϦͷ੩ࢭԽ 2VJFTDF ղআ 6ORVJFTDF ࣌ͷ௨஌Λड͚όοΫΞοϓΛ࣮ߦ͢ΔϢʔεέʔεͳͲΛ૝ఆ ‣ $POTJTUFOU(SPVQ4OBQTIPU ,&1   σʔλͷ੔߹ੑΛ୲อ͢ΔͨΊෳ਺ͷ17$Λ$POTJTUFOU(SPVQͱͯ͠·ͱΊɺ$POTJTUFOU(SPVQ୯ҐͰ 4OBQTIPU3FTUPSFΛ࣮ݱ ‣ $04* $POUBJOFS0CKFDU4UPSBHF*OUFSGBDF  ,&1   ΦϒδΣΫτετϨʔδ޲͚ͷΠϯλʔϑΣʔε "QQMJDBUJPO #BDLVQ "QQMJDBUJPO 3FTUPSF $POUBJOFS/PUJ fi FS 7PMVNF4OBQTIPU ڧԽ $04*
  22. ,&1લͷσΟεΧογϣϯ߲໨ 31 ‣ 7PMVNF#BDLVQ  7PMVNFͷϑϧόοΫΞοϓɻετϨʔδͷผᝑମ΁ͷόοΫΞοϓ͕ϝΠϯλʔήοτ ‣ $#5 $IBOHFE#MPDL5SBDLJOH BOE$IBOHFE'JMF-JTU

     7PMVNF4OBQTIPUͷมߋࠩ෼ͷ؅ཧɺ 
 ΦϒδΣΫτετϨʔδ΁ͷόοΫΞοϓ࣌ʹมߋࠩ෼ͷΈର৅ͱ͢ΔϢʔεέʔεΛ૝ఆ 7PMVNF#BDLVQ 7PMVNF4OBQTIPU ڧԽ
  23. ·ͱΊ 32 ‣ ίϯςφ͸εςʔτϑϧΞϓϦ͕ۤख  7.ɾίϯςφʹؔΘΒͣεςʔτϨεΞϓϦʹൺ΂εςʔτϑϧΞϓϦ͸େม σʔλಉظͳͲ   ΞʔΩςΫνϟ͸γϯϓϧ͔ͭૉ௚ͳੑೳ

    ো֐ௐࠪ΍ੑೳઃܭ͸΍Γқ͍ ɹ ‣ ίϯςφͰεςʔτϑϧΞϓϦΛಈ͔͢ͷ͸/(Ͱ͸ͳ͘ɺ 
 ίϯςφͱ͍͏ୈͷબ୒ࢶ͕ੜ·ΕͨͱݟΔͷ͕٢ ‣ εςʔτϑϧΞϓϦPO,VCFSOFUFT΁௅ઓ͢Δਓ΁τϨΠϧϚοϓΛ঺հ ‣ ࣍ͷεςʔδʹ޲͚ɺ,VCFSOFUFTͷετϨʔδؔ࿈ͷಈ޲Λ঺հ