Share
Embed
The Design of Storage for Stateful Application in Kubernetes (Container World 2019@Silicon Valley)
We developed the Kubernetes as a Service for Yahoo! JAPAN. Also, we are developing a stateful environment in Kubernetes for stateful Application such as a database. Especially, it is important to design a system that integrates Kubernetes and Storage.
I introduce the 5 points of design Know-How for your Data Center.
Yukinori Sakashita
April 19, 2019
Transcript
52 slides
-
"CPVUNF ‣4QFDJBMUZ .BOBHFNFOU4PGUXBSF $MPVE 4FSWFS4UPSBHF "VUPNBUJPO"VUPOPNJD$PNQVUJOH
"*.- // ).. #BZFTJBO/FUXPSL ‣&YQFSJFODF -BC.BOBHFSBU)JUBDIJ"NFSJDB 3% 4FOJPS3FTFBSDIFSBU)JUBDIJ 3% !2 :VLJOPSJ4BLBTIJUB 1I% ‣ 5FBN-FBEFSPG4PGUXBSF%FWFMPQNFOUBU;-BC :BIPP+BQBO$PSQPSBUJPO ‣ 7JDF$IBJSPG5FDIOPMPHZ$PNNJUUFFBU4/*"+ .BJMZTBLBTIJ![MBCDPKQ 2JJUBZTBLBTIJUB -
;-BC ‣ 4VCTJEJBSZPG:BIPP+"1"/ ‣ &TUBCMJTIFEJO ‣ 3%DPNQBOZPGOFYUJOGSBTUSVDUVSFGPS:BIPP+"1"/ ‣ 1SPWJEFT,VCFSOFUFTBTB4FSWJDF ,BB4
UP:BIPP+"1"/ ‣ IUUQT[MBCDPKQ !6 -
:BIPP+"1"/ ‣ +PJOUWFOUVSFPG4PGU#BOLBOE:BIPP*OD ‣ TFSWJDFT OFXT BVDUJPO XFBUIFSOFXT FUD
‣ CJMMJPO17QFSNPOUI EBUBDFOUFST TFSWFST 0QFO4UBDLDMVTUFST ,VCFSOFUFTDMVTUFST !7 -
,VCFSOFUFTBTB4FSWJDF ‣ &YFDVUFT:BIPP+"1"/XFCTFSWJDFTPO,VCFSOFUFT ‣ 1SPWJEFT,VCFSOFUFTBTB4FSWJDF ,BB4 JO:BIPP+"1"/ ‣ -BVODIFEDBOEJEBUFSFMFBTFJOBOE("JO ‣
*NQSPWFTQSPEVDUJWJUZBOETVTUBJOBCJMJUZ ‣ .BOBHFT ,VCFSOFUFT !8 -
4UBUFGVM&OWJSPONFOU ‣ *ODVCBUFTUBUFGVMFOWJSPONFOUPG,VCFSOFUFT ‣ 4IJGUGSPN7.UP,VCFSOFUFTJO;-BC`TTFSWJDF !12 4UPSFTSFDPSETUP%# 7. TUPSBHF 7.
7 . ,VCFSOFUFT $*$% ;-BCQSJWBUFDMPVE -
4UBUFGVM"QQMJDBUJPO !14 bin/lib Container App Logic Data bin/lib Container App
Logic Data ‣ ZFBSTBHP /PUTVJUBCMFGPSBQQMJDBUJPOTXJUI TUBUF EBUB *OJUJBMJ[FEBUBGPSFBDI BQQMJDBUJPOEFQMPZNFOU ‣ $VSSFOU 4FQBSBUFEBUBBOEMPHJD ,FFQEBUBPOFYUFSOBMTUPSBHF -
,VCFSOFUFT !15 ‣ %FGBDUPTUBOEBSEPGDPOUBJOFSPSDIFTUSBUJPO ‣ $FOUFSPGFDPTZTUFNJO$/$' $MPVE/BUJWF$PNQVUJOH'PVOEBUJPO ‣ .BJOGVODUJPO
4FSWJDFEJTDPWFSZBOEMPBECBMBODJOH 4FMGIFBMJOH "VUPNBUFESPMMPVUTBOESPMMCBDLT )PSJ[POUBMTDBMJOH 4UPSBHFPSDIFTUSBUJPO -
‣ ,VCFSOFUFTW ` %ZOBNJD1SPWJTJPOJOH ‣ ,VCFSOFUFTW `
'MFY7PMVNF ‣ ,VCFSOFUFTW ` $4* $POUBJOFS4UPSBHF *OUFSGBDF "MQIB ‣ ,VCFSOFUFTW b -PDBM7PMVNF #FUB !18 ‣ ,VCFSOFUFTW ` 7PMVNF3FTJ[JOH ‣ ,VCFSOFUFTW b 7PMVNF4OBQTIPU "MQIB 5PQPMPHZ"XBSF7PMVNF 1SPWJTJPOJOH #FUB ‣ ,VCFSOFUFTW ` $4* (" ‣ ,VCFSOFUFTW ` -PDBM7PMVNF (" )JTUPSZPG4UPSBHF'VODUJPOT -
4VQQPSUFE7PMVNF5ZQFT ‣ BXT&MBTUJD#MPDL4UPSF ‣ B[VSF%JTL ‣ B[VSF'JMF ‣ HDF1FSTJTUFOU%JTL ‣
DFQIGT ‣ DPOpH.BQ ‣ DTJ ‣ EPXOXBSE"1* ‣ FNQUZ%JS ‣ GD pCSFDIBOOFM ‣ qFY7PMVNF ‣ qPDLFS !19 ‣ HJU3FQP EFQSFDBUFE ‣ IPTU1BUI ‣ J4$4* ‣ MPDBM ‣ OGT ‣ QSPKFDUFE ‣ QPSUXPSY7PMVNF ‣ RVPCZUF ‣ SCE ‣ TDBMF*0 ‣ TFDSFU ‣ TUPSBHFT ‣ WTQIFSF7PMVNF -
4UPSBHF.PEFM ‣ 7FOEPSOFVUSBMTUPSBHFNPEFM 1FSTJTUFOU7PMVNF$MBJN 1FSTJTUFOU7PMVNF 4UPSBHF$MBTT ‣
$POTDJPVTPGBENJOBOEVTFSSPMF ‣ "VUPNBUJDBMMZNPVOUUIFWPMVNF XJUIPVUTUPSBHFPQFSBUJPO !20 6TFS %FWFMPQFS "ENJO -
1FSTJTUFOU7PMVNF$MBJN ‣ 3FRVJSFNFOUTQFDPGWPMVNF 4UPSBHFUZQF 4UPSBHF$MBTTOBNF 7PMVNFTJ[F
"DDFTTNPEF !21 "DDFTT.PEF %FTDSJCF 3FBE8SJUF0ODF 5IFWPMVNFDBOCFNPVOUFEBTSFBE XSJUFCZBTJOHMFOPEF 3FBE0OMZ.BOZ 5IFWPMVNFDBOCFNPVOUFEBTSFBE POMZCZNBOZOPEFT 3FBE8SJUF.BOZ 5IFWPMVNFDBOCFNPVOUFEBTSFBE XSJUFCZNBOZOPEFT -
1FSTJTUFOU7PMVNF ‣ *OEJDBUFTWPMVNFSFTPVSDF ‣ 7PMVNFDBQBCJMJUJFT 4UPSBHFUZQF 4J[F
"DDFTTNPEFT 3FDMBJNQPMJDZ w 3FUBJO w 3FDZDMF w %FMFUF !22 -
4UPSBHF$MBTT ‣ *OEJDBUFTTUPSBHFQPPMSFTPVSDF ‣ 4UPSBHF$MBTTDBQBCJMJUJFT 3FDMBJNQPMJDZ 1SPWJTJPOFS ‣
1SPWJTJPOFSDBMMT"1*UPTUPSBHF !23 -
)PXUPVTFWPMVNF ‣ 4VQQPSUTUXPUZQFTPGQSPWJTJPOJOHNFUIPET ‣ .BOVBMQSPWJTJPOJOH "ENJOEFQMPZT4UPSBHF$MBTTBOE1FSTJTUFOU7PMVNFCFGPSFVTF ‣ %ZOBNJDQSPWJTJPOJOH
"ENJOEFQMPZT4UPSBHF$MBTTPOMZ 1FSTJTUFOU7PMVNFJTDSFBUFEBVUPNBUJDBMMZGPSFBDISFRVFTU !25 -
%ZOBNJD1SPWJTJPOJOH !26 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB
NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J %FQMPZ -
%ZOBNJD1SPWJTJPOJOH !27 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB
NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J $SFBUF17$ -
%ZOBNJD1SPWJTJPOJOH !28 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB
NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J 4FMFDU4$ -
%ZOBNJD1SPWJTJPOJOH !29 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB
NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J Storage $SFBUF7PMVNF QSPWJTJPOFS -
%ZOBNJD1SPWJTJPOJOH !30 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB
NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J Storage OS "TTJHO $SFBUF 17 -
%ZOBNJD1SPWJTJPOJOH !31 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB
NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J Storage OS Container Runtime Container .PVOU ɹ17 -
3PMMJOH6QEBUF !32 ‣ 1PEJTSFDSFBUFEJOSPMMJOHVQEBUF ‣ 17BOE17$BSF/05SFDSFBUFE ‣ 7PMVNFJT/05EFMFUFE ‣ 1PENPWFTUIFOPEFCZSPMMJOHVQEBUF
‣ 7PMVNFJTEFUBDIFEBOEBUUBDIFEUPOFXOPEF -
4UPSBHF4ZTUFN%FTJHO ‣ 4UPSBHFTZTUFNEFTJHOGPSTUBUFGVMBQQMJDBUJPO ‣ 4BGFUZBOETFDVSJUZPGQFSTJTUFOUEBUB ‣ 6OEFSTUBOEJOHNFDIBOJTNPG,VCFSOFUFT ‣ 4FMFDUJOHCFUUFSTUPSBHFGPSZPVSTFSWJDFT ‣
/FDFTTJUZUPEFTJHOTUPSBHFTZTUFNXJUICPUILOPXMFEHF !39 -
3PMMJOH6QEBUF ‣ 1PENPWFT 3PMMJOHVQEBUF 'BJMVSF ‣ .PWFQBUUFSO
/PEFDSPTTJOH 3FDSFBUJPOPOUIFTBNF OPEF ‣ %FUBDIFTBUUBDIFT !41 3PMMJOH6QEBUF "VUPNBUJD QBUITXJUDIJOH 7PMVNF -
%FTJHO1PJOU ‣ 1FSGPSNBODFPGEFUBDIBUUBDIPQFSBUJPO $BMMTNBOZEFUBDIBUUBDIPQFSBUJPOT BUTBNFUJNF EFGBVMUQPETOPEF /PUVTFGPS*O#BOEPQFSBUJPOXJUIWFOEPS
TQFDJpDCJUJOTXJUDIJOHQBUI FH4$4*71% ‣ .VMUJQBUIDPOpHVSBUJPO /POEJTSVQUJWFTXJUDIJOH "VUPNBUJDDPOpHVSBUJPOXJUIPVUBENJO`T PQFSBUJPOXIFOBEEJOHOFXOPEF !42 /PEF /PEF 4UPSBHF 0VUPG#BOE *O#BOE -
-PDLJOH !43 ‣ 4VQQPSUTBDDFTTNPEFT 3FBE8SJUF0ODF 3FBE0OMZ.BOZ 3FBE8SJUF.BOZ
‣ #MPDLTUPSBHFEPFT/05IBWFBMPDL NFDIBOJTN ‣ $PSSVQUEBUBXIFOXSJUJOHUPB WPMVNFBUUIFTBNFUJNF -
%FTJHO1PJOU ‣ $IFDLTVQQPSUJOHBDDFTTNPEF "WPJE3FBE8SJUF.BOZXIFOUIFBQQMJDBUJPOXJUIPVUMPDLUPSVO ‣ -PDBUJPOPGMPDL 4FSWFSTJEFBQQMJDBUJPO FH3%#
$MJFOUTJEFBQQMJDBUJPO FH8FCGSPOU "WPJE3FBE8SJUF.BOZJO$MJFOUTJEFBQQMJDBUJPOT !44 -
%FTJHO1PJOU !46 ‣ $POUSPMBDDFTTVTJOHNVMUJUFOBODZJOTUPSBHF $IFDLDPOUSPMMBCMFSFTPVSDFT FHWPMVNF QPSU OPEF`T*1*2/
‣ "VUPNBUJDBMMZBEEOPEF`T*1 PS*2/ UP"$-PGUFOBOU ,VCFSOFUFT ,VCFSOFUFT 5FOBOU" 5FOBOU# 4UPSBHF -
‣ 8IFOBTQFDJpDVTFSVTFTUPPNVDIWPMVNF PUIFSVTFST$"//05 VTFJU ‣ 4IBSJOHQIZTJDBM)%%44%MJLFUIJOQSPWJTJPOJOHWPMVNF !47 ,VCFSOFUFT ,VCFSOFUFT 8SJUF&SSPS
$BO`UBTTJHOQIZTJDBM)%%44% 5PPNVDI VTF 2VPUB -
%FTJHO1PJOU !48 ‣ $IPJDFRVPUBUZQF ‣ 2VPUBVTJOH,VCFSOFUFT -JNJUPOFBDIOBNFTQBDFPO ,VCFSOFUFT ‣
2VPUBVTJOHTUPSBHF -JNJUPOFBDI,VCFSOFUFT DMVTUFST 4J[FPGWPMVNFPSQPPM /VNCFSPGWPMVNFPSQPPM 1BSBNFUFS %FTDSJCF SFRVFTUTTUPSBHF 5PUBMWPMVNFTJ[FPGBMM17$T JOOBNFTQBDF QFSTJTUFOUWPMVNFDMBJNT /VNCFSPG17$JO OBNFTQBDF TUPSBHFDMBTTOBNF TUPSBHFDMBTTTUPSBHFLTJP SFRVFTUTTUPSBHF 5PUBMWPMVNFTJ[FPGBMM17$T JOOBNFTQBDFGSPNUIF4$ TUPSBHFDMBTTOBNF TUPSBHFDMBTTTUPSBHFLTJP QFSTJTUFOUWPMVNFDMBJNT /VNCFSPG17$JO OBNFTQBDFGSPNUIF4$ 4UPSBHF3FTPVSDF2VPUBJO,VCFSOFUFT -
*OUFSGBDF !49 ‣ 4VQQPSUTUXPUZQFTPGTUPSBHFDPOUSPM QMBOFJOUFSGBDF ‣ *OUSFF %FWFMPQNFOUCZ,VCFSOFUFT DPNNVOJUZ
0SJHJOBMJOUFSGBDF ‣ $4* %FWFMPQNFOUCZSEQBSUZWFOEPST 4UBOEBSEJOUFSGBDF -
%FTJHO1PJOU !50 ‣ ,VCFSOFUFTTIJGUTGSPNJOUSFFUP$4* ‣ /FXGVODUJPOPGTUPSBHFXJMMCFTVQQPSUFECZ$4* ‣ 'FXWFOEPSTTVQQPSU$4* ‣ "MUFSOBUJWFJEFBBDDFTTVTJOHQSPYZDPOUSPMQMBOF
4UPSBHF $4* $4* $JOEFS $4* 4XPSEpTI$FQI $JOEFSFUD $4*EJSFDU 1SPYZ $JOEFS 1SPYZ 0QFO4%4