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

Kubernetes 101

Kubernetes 101

Ta-Ching Chen

March 19, 2018
Tweet

More Decks by Ta-Ching Chen

Other Decks in Programming

Transcript

  1. 1 KUBERNETES 101 HANDS-ON w 1PE w 7PMVNF w 4FDSFU

    w $POpHNBQ w 4FSWJDF w %FQMPZNFOU w )1"
  2. 2 Hello World ⾃我簡介 w 5B$IJOH$IFO ௠େܚ  w %FW0QT#BDLFOE&OHJOFFS

    w 4ZTUFN"SDIJUFDUVSF%FTJHO*NQMFNFOUBUJPO 1FSGPSNBODF5VOJOH w #MPHIUUQTUBDIJOHDIFODPNUX w &NBJMDPOUBDU!UBDIJOHDIFODPN
  3. 4 容器技術 原理 w ಁա-JOVYޭೳሡQSPDFTTִ཭ w DHSPVQTࢿݯݶ੍ w OBNFTQBDFQJEɺ໢࿏ɺֻࡌᴍ w

    *NBHF૊੒ཁૉ w #BTF*NBHF w /P'30.PS'30.TDSBUDI w 1BSFOUJNBHF w '30.YYYYY w แؚ-JOVYᚙߦ൛䈕Ҋ w 0QUJPOBM ࢖༻ऀ䈕Ҋ w -BZFS *OUFSNFEJBUF-BZFS w ࢖༻ऀ䈕Ҋ
  4. 5 KUBERNETES 架構與特點 w ڠॿ؅ཧ༰ثੜ໋िظ w ෰຿ଛᆦࣗಈঐࢼम෮ "VUPIFBMJOH  w

    ྲྀྔࣗಈෛࡌฏߧ -#  w ᕵಈঋڃᢛճᕵ 3PMMJOHVQEBUF3PMMCBDL  w ؆қ෰຿୳ࡧ 4FSWJDFEJTDPWFSZ  w ༰ثՄލػثߔ௨ w ࣗಈ৳ॖᎷల "VUPTDBMJOH  w Մ൛߇ॴ༗෦ॺఔࣜᛰ w ࢿݯ߇؅
  5. 7 Pod 應⽤ 觀念念說明 w 1PE㚎༰ثੜࢮᢛڞ w 1PE㚎༰ثෆ။ލઅᴍ w 1PE㚎༰ثڞڗಉ/FUXPSL/BNFTQBDF

    w ᘐཱ*1ɺ1PSU w 㚎෦Ҏ૬ޓߔ௨ w ෰຿আࡨɺଌࢼ޷㢨ख w LVCFDUMMPHTGD w LVCFDUMQPSUGPSXBSE [1] https://tachingchen.com/tw/blog/kubernetes-pod/
  6. 9 Pod 應⽤ Sidecar Pattern 使⽤用 w 4JEFDBS1BUUFSO<> w ෛ੹ෆแؚࡏओጯ༻తඇ֩৺ޭೳ

    w ෆߋಈओጯ༻Լ⃧ఴ৽ෆಉޭೳ w ෰຿ॏ༻ੑ⃧Ճɼූ߹ඍ෰຿֓೦ w ᯦׆ੑఏߴ w ආ໔.POPMJUI1PEग़ݱ w  ओጯ༻ / ีጯ༻ ෆཁաଟ  w ۓີߔ௨త༰ثᎹ์ࡏҰى w ༰ثؒᔒ༗啟ಈઌޙॱং w ጯ༻৔ܠ w ҟ࣭؀ڥ઀ޱ ฏ୆ந৅Խ  w 3FNPUF1SPYZ w -PHHJOH [1] https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecar
  7. 10 Volume 應⽤ 觀念念說明 w ಁա%PDLFSNPVOUሡࢿྉᇄֻਐڈ w ࢿ㘤෼ڗᢛอଘ w ߟྀᏈೳɺ෰຿ಛੑબᎩछྨ࢖༻

    w छྨ w FNQUZ%JS᪑1PEಉੜࢮ w IPTU1BUI୞ଘࡏ֘અᴍ w OGTIPTUधࢧԉ/'4ޭೳ w HJU3FQPద༻$*$% w TFDSFUଘ์DFSUɺBDDQXE౳ w DPOpHNBQ,FZ7BMVFઃఆ值 w ጯ༻৔ܠ w %JTUSJCVUFE-PH$PMMFDUJPO w 'JMF4IBSJOH w 4JEFDBS1BUUFSO FNQUZ%JS
  8. 11

  9. 12 Secret 應⽤ 觀念念說明 w ػີࢿ㘤ᢛ༰ثղ㪧߹ w Ҏ䈕Ҋܗֻࣜࡌ౸1PE㚎 w ᙛTFDSFU༗ߋ৽࣌။᪑ஶࣗಈߋ৽

    w 1PEधਓҝհೖॏ啟҃ఔࣜ໘ཁվಈ w Ҏ؀ڥᏓᏐํࣜၚೖ1PE w ૑ݐલਢҎCBTFሡEBUBฤᛰ w TFDSFUଖመෆTFDSFU w ༗ᒟݶ࢖༻LVCFDUMతਓ౎ՄҎ؃౸ w 㑌୆্༗ࣥߦFUDEతઅᴍ౎ՄҎ؃౸ w ਑ሣػثਢ၏޷҆શ؅߇ ඇৗجຊ  w ୞ֻࡌ౸धཁ࢖༻త༰ث㚎 w ጯ༻৔ܠ w ሡػີࢿ㘤࿨༰ثө૾䈕෼཭ w ౷Ұతாີ؅߇
  10. 14 Configmap 應⽤ 觀念念說明 w ඇػີࢿ㘤ᢛ༰ثղ㪧߹ w Ҏ䈕Ҋܗֻࣜࡌ౸1PE㚎 w ᙛDPOpH༗ߋ৽࣌။᪑ஶࣗಈߋ৽

    w 1PEधਓҝհೖॏ啟҃ఔࣜ໘ཁվಈ w Ҏ؀ڥᏓᏐํࣜၚೖ1PE w Ҏ,FZ7BMVFܗࣜ૑ݐແधCBTF w DPOpHNBQ࿨TFDSFUҰᒬ኷੺ད w ༗ᒟݶ࢖༻LVCFDUMతਓ౎ՄҎ؃౸ w 㑌୆্༗ࣥߦFUDEతઅᴍ౎ՄҎ؃౸ w ਑ሣػثਢ၏޷҆શ؅߇ ඇৗجຊ  w ୞ֻࡌ౸धཁ࢖༻త༰ث㚎 w ጯ༻৔ܠ w ሡઃఆ࿨༰ثө૾䈕෼཭ w ूதࣜతઃఆ؅ཧ
  11. 16 Service 應⽤ 觀念念說明 w ᬓा্తҰ܈1PEҎٴଘऔଞ၇తنଇ w 4FSWJDFᢛ1PEҝᱷࢄ㪧߹ w ෰຿ந৅Խ

    w TWDOBNFTQBDFTWDDMVTUFSMPDBM w ଘऔ෰຿త%/4"SFDPSET w ඇ1PE*1ɼᯅ᤽എޙ੥ٻ႔ཧࡉઅ w আಛผधٻɼ൱ଇෆጯ֘௚઀࢖༻1PE*1 w ར༻%/4߱௿ఔࣜෳᯑ౓ w ߴՄ༻ੑɺආ໔ڧ㪧߹ w ,4༗㚎ݐ෰຿୳ࡧޭೳ [1] https://tachingchen.com/tw/blog/kubernetes-service/
  12. 17 Service 與 Label 應⽤ 觀念念說明 (cont.) w Մಁա%/4҃؀ڥᏓᏐऔಘ෰຿ࢿ㘤 w

    ఈ૚መ࡞ར༻JQUBCMFT၏ྲྀྔ෼ࢄ w ໢࿏Ԇᬌ໰୊ w ੥ٻՄೳ။ඃૹ౸ෆಉ1PEɺઅᴍ w ௕࣌ؒԼိ࠽။ੋۉ䆟෼ࢄ
  13. 19 Service 與 Label 搭配應⽤ 標籤組合,精密分流 w աڈཁઃఆ-#ሡྲྀྔ෼ࢄɼଠա໣࣌ w ળ༻બᎩثɼਫ਼ີ߇ྲྀ

    w ᱷࢄ㪧߹ །Ұඪត૊߹ w ఏߴཻ౓ɼෆӨڹ෰຿ߴՄ༻ੑ w ጯ༻৔ܠ w ྲྀྔ؅߇ɼՄҎᬋ࣌੾෼ྲྀྔ w ؆қ"#ଌࢼ
  14. 20

  15. 21 Service 與 Label 應⽤ 探針實現服務探索,提⾼高應⽤用可⽤用性 w 3FBEJOFTTੋ൱४උ઀डྲྀྔ w -JWFOFTT෰຿ੋ൱ਖ਼ৗӡ࡞

    w ࡾछᒾଌํࣜ$.%ɺ)551ɺ5$1 w LVCFDUMEFTDSJCFQPEQPE w ጯ༻৔ܠ w ආ໔4FSWJDF೺ྲྀྔૹ౸ෆ݈߁1PE w ࣗಈम෮ɼఏߴՄ༻ੑ [1] https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
  16. 22

  17. 23 Deployment 應⽤ 觀念念說明 w 4DBMFCZDMPOJOH w ࡏ1PE೭্ߋߴ૚࣍తந৅Խ w 1PE໋໊ҝᬋػࣈ۲

    w ߱௿ਓྗधٻᢛࣦޡ w ศརঋڃɺ1PEᏐྔ֬อɺࣗզम෮ w ఏڙ֤छڧେޭೳ w ᕵಈঋڃ 3PMMJOHVQEBUF  w ճᕵ 3PMMCBDL  w ࢑ఀ៺᠃ঋڃ w ጯ༻৔ܠ w ద߹ແ㐫ଶ෰຿࢖༻ w ෰຿ঋڃɺճᕵ [1] https://tachingchen.com/tw/blog/kubernetes-rolling-update-with-deployment/
  18. 25 Deployment 應⽤ 觀念念說明 (cont.) w ෆཁᬋҙվಈTFMFDUPSత值 w ଄੒ݽၲ34 1PE⃧Ճҡӡࠔ৙

    w ઃఆ3PMMJOH4USBUFHZɼ࠽ࢧԉᕵಈঋڃ w NJO3FBEZ4FDPOET w NBY4VSHF w NBY6OBWBJMBCMF w ར༻ŠSFDPSEل㑚㑌࣍ૢ࡞ w ࢖༻LVCFDUMTFUJNBHFߋ৽JNBHFɼ ֬อૢ࡞㑖࢙ਗ਼ુқ㣛 w ઃఆTQFDSFWJTJPO)JTUPSZ-JNJUɼอ ཹఆྔSFWJTJPOଈՄ [1] https://tachingchen.com/tw/blog/kubernetes-rolling-update-with-deployment/
  19. 26 Horizontal Pod Autoscaler 應⽤ 觀念念說明 w ґᎦ1PEෛࡌਐߦ%FQMPZNFOU৳ॖᎷల w 1PEधཁ၏ࢿݯ؅߇ɼҎܭࢉ࢖༻ྔ

    w ༬ઃ㑌T၏VUJMJ[BUJPOܭࢉ w )1"࠾อकػ੍ w ։኷շɺ᮫኷ຫ w ආ໔హඊྲྀྔ଄੒1PEॏෳ։᮫ w Մ౥഑(,&$MVTUFS"VUPTDBMFS w 1PEग़ݱ1FOEJOH㐫ଶ࠽။ᨀᚙ w ୠੋ֘ዎኄ၏࠽ೳ֬อ෰຿ਖ਼ৗʁ
  20. 27 Horizontal Pod AutoScaling 應⽤ ⼀一場價值⼗十六萬的課 (教訓) w ,4။ሡઅᴍॴ༗ࢿݯ፤ိ։1PE ةᯃ

     w 㑌ݸઅᴍ,4ݩ݅။㟯ڈdDPSF w ෰຿ᜦఆ᮫伴 w અᴍ֩৺Ꮠ໿ࡏdDPSFҝՂ w Ꮇలշɺݩ݅ࢿݯ㟯ൺখ w ័અᴍෛՙࡏ࿡ࣣ҃੒ҝՂ w อཹܥ౷ࢿݯᢛጯ෇ॠؒಥ೾ w ᄸҰ1PEࢿݯෆٓաଟ w ೉෼഑౸ଖଞઅᴍ ༰қ1FOEJOH  w ҎਫฏᎷలҝओཁखஈ w ໘ሣᜦఆྲྀྔ w ߴ5ISFTIPME w ໘ሣॠؒෆᜦఆྲྀྔ w ௿5ISFTIPMEɼᩋ)1"༰қඃᨀᚙ
  21. Q&A