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

Site Reliability Engineering on Kubernetes

nwiizo
January 26, 2025

Site Reliability Engineering on Kubernetes

2025年01月26日 10:35-11:05(ルーム A)にて「Site Reliability Engineering on Kubernetes」というタイトルで登壇します。

イベント名: SRE Kaigi 2025

公式URL: https://2025.srekaigi.net/

セッションURL: https://fortee.jp/sre-kaigi-2025/proposal/a75769d1-7835-4762-a1f6-508e714c8c8e

登壇ブログ: https://syu-m-5151.hatenablog.com/entry/2025/01/26/005033

nwiizo

January 26, 2025
Tweet

More Decks by nwiizo

Other Decks in Technology

Transcript

  1. 43&ͷΩϗϯ w43&ͱ͸ɺΑ͋͘Δޡղ w 43&ΠϯϑϥͰݺͼ໊͕͔ΘͬͨΜͰ͢ΑͶʁ w43&ͱ͍͏୯ޠ͔Β͘Δظ଴ w Մ༻ੑ৴པੑ$6+ϙετϞʔςϜτΠϧ 4-*4-04-"ΤϥʔόδΣοτύʔηϯλΠϧͳͲͷ 43&ຊʹॻ͍ͯ͋Δ֓೦Λӡ༻ʹಋೖ͢ΔΜͰ͢Α w

    Ϗδωεঢ়گΛఆٛ4-*Λఆٛ$6+Λఆٛ4-*߲໨ɾ ࣮૷Λܾఆ4-0Λܾఆɺ4-0؂ࢹͷ࣮૷ɺ4-"Λܾఆ αʔϏεϨϕϧͷܾఆͳͲΛಋೖ͢Δ͜ͱͰ͋Δ   43&αΠτϦϥΠΞϏϦςΟΤϯδχΞϦϯά͕zβοΫϦzʮ͖ͬ͢Γʯ෼͔Δຊ (PPHMF͕࣮ફ͍ͯ͠Δ৽%FW0QTํ๏࿦ IUUQTXXXBNB[PODPKQEQ##;#: 43&㲈ΠϯϑϥͱݴͬͯΔਓʹ ΦεεϝͰ͖Δॻ੶
  2. ৴པੑΛ੍ޚ͢Δٕज़ͱͯ͠ͷ43& 43&ͱ͸ɺ૊৫͕৴པੑΛ੍ޚ͢Δٕज़   IUUQTXXXPSFJMMZDPKQCPPLT มߋ଎౓΍ίετͷҝʹՄ༻ੑΛ ্͛ͨΓɺҡ࣋ͨ͠ΓɺԼ͛ͨΓͰ͖Δ  ೥ؒ෼ඵ 

    ೥ؒ࣌ؒ෼ Ϣʔβʔ େଟ਺ͷϢʔβʔ͸ ମݧͱͯࠩ͠Λײ͡ΒΕͳ͍ ҉໧తͳˋ γεςϜมߋʹର͢ΔڪΕΛݮΒ͢ ։ൃऀ 43&αΠτϦϥΠΞϏϦςΟΤϯδχΞϦϯά೥
  3. ৴པੑΛ੍ޚ͢Δπʔϧͱͯ͠ͷ4-0 w 4-*ʢ4FSWJDF-FWFM*OEJDBUPSʣ w ఆٛɿαʔϏεͷੑೳ΍৴པੑΛଌఆ͢Δ۩ମతͳࢦඪ w ྫɿϨΠςϯγɺΤϥʔ཰ɺεϧʔϓοτ w ॏཁੑɿϢʔβʔମݧʹ௚઀ӨڹΛ༩͑ΔཁૉΛ਺஋Խ͠ɺ٬؍తͳධՁΛՄೳʹ͢Δ w

    4-0ʢ4FSWJDF-FWFM0CKFDUJWFʣ w ఆٛɿ4-*ʹج͍ͮͯઃఆ͞ΕΔ໨ඪ஋ w ྫɿʮͷϦΫΤετ͕NTҎ಺ʹԠ౴͢Δ͜ͱʯ w ॏཁੑɿαʔϏεͷظ଴͞ΕΔ඼࣭ϨϕϧΛఆٛ͠ɺνʔϜؒͷڞ௨ཧղΛܗ੒͢Δ w ΤϥʔόδΣοτ w ఆٛɿ4-0͔Βҳ୤͢Δ͜ͱ͕ڐ༰͞ΕΔൣғ w ྫɿ݄ؒͷՄ༻ੑΛ໨ඪͱ͢Δ৔߹ɺʢ෼ʣ͕ΤϥʔόδΣοτ w ॏཁੑɿ৴པੑͱมߋ଎౓ͷόϥϯεΛऔΔͨΊͷπʔϧͱͯ͠ػೳ͢Δ   *NQMFNFOUJOH4FSWJDF-FWFM0CKFDUJWFT 'JHVSF5IFCBTJDCVJMEJOHCMPDLTPGUIF3FMJBCJMJUZ4UBDLΑΓҾ༻
  4. 43&Λ͸͡ΊΑ͏   IUUQTXXXPSFJMMZDPKQCPPLT 43&Λ͸͡ΊΑ͏೥ wݸਓͱ૊৫ͷ྆ํΛର৅ͱ͢Δ43&ೖ໳ॻ w 43&Λ࢝ΊΔʹ͋ͨͬͯඞཁͳجૅ஌ࣝ΍ϚΠϯυηοτ ͕ఏڙ͞Ε͍ͯΔɻ w

    ݸਓͱͯ͠43&ʹඞཁͳεΩϧηοτ΍஌ࣝɺֶशํ๏ͳ Ͳ͕ৄࡉʹ঺հ͞Ε͓ͯΓɺ43&Λ໨ࢦ͢ਓʹͱ࣮ͬͯફ తͳࢦೆॻɻ w ૊৫ͱͯ͠43&Λಋೖɾൃలͤ͞ΔͨΊͷࢦ਑͕ఏࣔ͞Ε ͍ͯΔɻ43&ͷಋೖʹඞཁͳཁ݅΍ɺ૊৫จԽͱͷద߹ ੑɺଞ෦໳ͱͷڠಇͳͲɺ43&Λ૊৫ʹఆணͤ͞ΔͨΊͷ ϙΠϯτ͕ৄ͘͠ղઆ͞Ε͍ͯΔ
  5. 43&Λ͸͡ΊΑ͏   IUUQTXXXPSFJMMZDPKQCPPLT 43&Λ͸͡ΊΑ͏೥ w͋ͳͨΒ͍͠43&ͷܗΛݟ͚ͭΔ !BCOPVNBSV  43&͸(PPHMFͰੜ·Εɺ෯޿͘஌ΒΕΔΑ͏ʹͳͬͨӡ༻ख ๏Ͱ͢ɻ(PPHMFͷࣄྫΛϕʔεʹͨ͠43&ຊ͸ɺଟ͘ͷ૊৫ͷ

    ݱঢ়ͱ͸ҟͳ͍ͬͯͨͨΊɺʮ(PPHMFΫϥεͷ*5اۀͰͳ͍ͱ ࣮ݱͰ͖ͳ͍ʯͱ͍͏ޡղΛট͖·ͨ͠ɻ͔͠͠ɺ43&͸֤૊ ৫ʹ߹ΘͤͯਐԽ͢Δํ๏࿦ͷҰͭͰ͢ɻॏཁͳͷ͸(PPHMF ͷࣄྫΛ׬શίϐʔ͢Δ͜ͱͰ͸ͳ͘ɺ͋ͳͨͷ૊৫ʹ߹Θͤ ͯ43&ͷϓϥΫςΟεΛղऍ͠ɺνʔϜͱڞʹ࣮ફΛॏͶΔ͜ ͱɻͦ͏͢Δ͜ͱͰɺ͋ͳͨͷ૊৫ͳΒͰ͸ͷ43&͕ܗ࡞ΒΕ ͍ͯ͘ͷͰ͢ɻ ͋ͳͨΒ͘͠43&ʢެ։༻ʣ IUUQTTQFBLFSEFDLDPNBCOPVNBSVBOBUBSBTJLVTSFHPOHLBJZPOH
  6. 43&Λ͸͡ΊΑ͏   IUUQTXXXPSFJMMZDPKQCPPLT 43&Λ͸͡ΊΑ͏೥ w͋ͳͨΒ͍͠43&ͷܗΛݟ͚ͭΔ !BCOPVNBSV  43&ʹਖ਼ղ͸͋Γ·ͤΜɻॏཁͳͷ͸ɺ͋ͳͨͷܦݧ΍૊৫ͷ จԽɺνʔϜͷڧΈΛ׆͔͢͜ͱɻ43&͸ܗࣜతͳಋೖͰ͸ͳ

    ͘ɺνʔϜͱڞʹࢼߦࡨޡ͠ͳ͕Βҭ͍ͯͯ͘΋ͷͰ͢ɻͦͷ աఔͰݟ͑ͯ͘Δ͋ͳͨͨͪͳΒͰ͸ͷՁ஋͕ͦ͜ɺຊ౰ͷ 43&ͷ࢟ͳͷ͔΋͠Ε·ͤΜɻ43&,BJHJͷΠϕϯτશ ମ΍͜ͷൃදͰɺ͋ͳͨʹͱͬͯͷ43&ͷܗ͕গ͠Ͱ΋ݟ͑ͯ ͘Δ͜ͱΛئ͍ͬͯ·͢ɻ ͋ͳͨΒ͘͠43&ʢެ։༻ʣ IUUQTTQFBLFSEFDLDPNBCOPVNBSVBOBUBSBTJLVTSFHPOHLBJZPOH
  7. $MPVE/BUJWFͱ͸ʁ ૄ݁߹ͳγεςϜ ճ෮ੑ ؅ཧྗ Մ؍ଌੑ ݎ࿚ͳࣗಈԽʹΑͬͯมԽʹڧ͍   ίϯςφ αʔϏεϝογϡ

    ϚΠΫϩαʔϏε ΠϛϡʔμϒϧΠϯϑϥετϥΫνϟ ͓Αͼએݴܕ"1* ͳͲΛ༻͍ͯ Λ࣮ݱ͢Δ
  8. ,VCFSOFUFTͷಛ௃ wෆมͳΠϯϑϥ w ॳظߏஙޙ͸ΠϯϑϥʹมߋΛՃ͑ͳ͍ w มߋΛՃ͑Δ࣌͸৽͘͠ΠϯϑϥΛߏங͠௚ͤ͹ྑ͍ wએݴతઃఆ w એݴతʹγεςϜͷ͋Δ΂͖࢟Λఆٛ w

    ໋ྩܕͰखॱ΍มߋཤྺΛه࿥͠ͳ͍ wࣗݾम෮ػೳ w ো֐΍ҟৗ͕ى͖ͯ΋3FDPODJMJBUJPO-PPQͷதͰγεςϜΛ͋Δ΂͖࢟ʹ໭͢ w FH ো֐ͷى͖ͨϊʔυͰಈ͘ΞϓϦέʔγϣϯΛผͷ৔ॴʹҠಈ͢Δ  
  9. એݴతͳঢ়ଶ؅ཧʹΑΔ৴པੑ֬อ w3FDPODJMJBUJPO-PPQʹΑΔཧ૝ঢ়ଶͷҡ࣋ w %FQMPZNFOU4UBUFGVM4FUʹΑΔ1PE਺ͷҡ࣋ w /PEFো֐ ϝϯςφϯε࣌ͷࣗಈ࠶εέδϡʔϦϯά w ,VCFSOFUFTͷ֦ுʹΑΔ.Z42-΍ΞϓϦέʔγϣϯͷӡ༻ࣗಈԽ w

    $VTUPN$POUSPMMFS🎮ʹΑΔࣗલ࣮૷͕ඞཁʹͳΔˠ׆༻ͨ͠ΞϓϦέʔγϣϯ͸ͨ͘͞ Μ͋Δ   https://www.oreilly.com/library/view/managing-kubernetes/9781492033905/
  10. Մ؍ଌੑͷ࠷খ͸1PEΛ؂ࢹ͢Δ w1SPCFʹΑΔγεςϜͷϞχλϦϯάΛߦ͏ w ΞϓϦέʔγϣϯͷࢮ׆؂ࢹ w ίϚϯυͳͷ͔ΤϯυϙΠϯτ؂ࢹͳͷ͔ํ๏͸༷ʑ͋Δ   https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/ Startup

    Probe • ॳظىಈ࣌ͷΈ࣮ߦ • ىಈͷ׬ྃΛ൑ఆ • ଞͷProbe͸੒ޭ͢Δ·Ͱ։࢝͞Εͳ͍ Liveness Probe • ఆظతͳੜଘ֬ೝ • ࣦഊ࣌͸PodΛ࠶ىಈ • ΞϓϦέʔγϣϯͷࢮ׆؂ࢹ Readiness Probe • τϥϑΟοΫड෇Մ൱ͷ൑ఆ • ࣦഊ࣌͸Service͔Βআ֎ • Ұ࣌తͳաෛՙ΁ͷରԠ ىಈॲཧ 4UBSUVQ ੜଘ֬ೝ -JWFOFTT ड෇൑ఆ 3FBEOFTT
  11. ,VCFSOFUFTʹ͓͚ΔϝτϦΫεऩूͱ؂ࢹ w1SPNFUIFVTʹΑΔ,VCFSOFUFTϝτϦΫεऩू w 1PEϨϕϧͷϝτϦΫε w ίϯςφͷ$16ϝϞϦ࢖༻཰ w 1PEͷىಈ࣌ؒͱϥΠϑαΠΫϧ w ΞϓϦέʔγϣϯͷԠ౴࣌ؒ

    w ϊʔυϨϕϧͷϝτϦΫε w ϊʔυͷϦιʔε࢖༻ঢ়گ w 1PEͷεέδϡʔϦϯάঢ়ଶ w LVCFMFUͷ݈શੑࢦඪ w ΫϥελʔϨϕϧͷϝτϦΫε w "1*αʔόʔͷϨΠςϯγʔ w FUDEͷύϑΥʔϚϯε w ίϯτϩʔϧϓϨʔϯͷ݈શੑ   ͜ΕΒͷϝτϦΫε͸ҎԼͷΑ͏ͳܗͰ࣮૷͠·͢ ΧελϜϝτϦΫεͱͯ͠΋࣮૷Ͱ͖Δ IUUQTQSPNFUIFVTJPEPDTJOUSPEVDUJPOPWFSWJFX Architecture IUUQTHJUIVCDPNLVCFSOFUFTTJHTNFUSJDTTFSWFS IUUQTHJUIVCDPNQSPNFUIFVTPQFSBUPSLVCFQSPNFUIFVT খ࿩ͱͯ͠ ⋯  LTެࣜʹ΋NFUSJDTTFSWFS͕ଘࡏ͍ͯ͠·͢ɻ ࣗಈԽपΓͰݴ͏ͱTMPLTMPUI͸ࢭ·͍ͬͯΔ͠ 0QFO4-0͸ਐΈ͕஗͍ͷͰ ⋯
  12. ,VCFSOFUFTϓϥοτϑΥʔϜʹ͓͚Δ0QFOUFMFNFUSZ   Learning Opentelemetry - Figure 2-4. An illustration

    of layered signals. A histogram measures API latency, with exemplars linking to speci fi c traces, and with those traces linking to pro fi les or logs to get component- or function-level insights. ΑΓҾ༻ w 0QFO5FMFNFUSZΛ࣮૷͢Δ w ,VCFSOFUFTͷςϨϝτϦσʔλΛऩू͢Δʹ ͸ɺ0QFO5FMFNFUSZ0QFSBUPS͕ॏཁͳ໾ׂ ΛՌͨ͠·͢ɻ0QFSBUPSͷ5BSHFU"MMPDBUPS 5" ػೳΛ࢖͏͜ͱͰɺΫϥελ಺ͷ 1SPNFUIFVTΤϯυϙΠϯτΛࣗಈݕग़͠ɺෳ ਺ͷDPMMFDUPSؒͰεΫϨʔϓδϣϒΛۉ౳ʹ෼ ࢄͤ͞Δ͜ͱ͕Ͱ͖·͢ɻ·ͨ͸ɺ k8sclusterreceiverɺ k8seventsreceiverɺ k8sobjectsreceiverɺ kubeletstatsreceiverͳͲͷϨγʔόʔΛ ࢖ͬͯɺΫϥελʔͷϝτϦΫεͱϩάΛ௚઀ ऩू͢Δ͜ͱ΋Ͱ͖·͢ɻ IUUQTXXXPSFJMMZDPKQCPPLT
  13. ,VCFSOFUFTʹ͓͚Δ4-*4-0ͷ࣮૷ w ओཁͳ4-* w Մ༻ੑ1PE3FBEZ཰ͱΤϯυϙΠϯτԠ౴཰ w ϨΠςϯγʔɿϦΫΤετॲཧ࣌ؒͷ෼෍ w Τϥʔ཰ɿYYԠ౴ͷׂ߹ w

    ๞࿨౓ɿϦιʔε࢖༻཰ͱεέʔϦϯάঢ়ଶ w ΞϥʔτઃఆͷϕετϓϥΫςΟε w όʔχϯάϨʔτʹجͮ͘ᮢ஋ઃఆ w Ϛϧν΢Οϯυ΢ҟৗݕ஌ͷ׆༻ w ΤϥʔόδΣοτʹجͮ͘ϖʔδϯά w αʔϏεґଘؔ܎Λߟྀͨ͠ॏཁ౓ઃఆ w ΧελϜϦιʔεΛ׆༻ͨ͠4-0ఆٛ   4-0ͷ࣮૷ྫ ࣮૷ྫɿϨΠςϯγʔ4-0 QNT Մ༻ੑ4-0  IUUQTQSPNFUIFVTJPEPDTQSPNFUIFVTMBUFTUDPO fi HVSBUJPOBMFSUJOH@SVMFT
  14. *TUJPʹΑΔαʔϏεϝογϡ w *TUJPʹΑΔαʔϏεϝογϡ؂ࢹ1PEϨϕϧͷϝτϦΫε w τϥϑΟοΫ੍ޚͱ؂ࢹ w αʔϏεؒ௨৴ͷৄࡉͳՄࢹԽ w τϥϑΟοΫͷ෼ׂͱϧʔςΟϯά w

    ҟৗݕ஌ͱࣗಈ෮چ w ෼ࢄτϨʔγϯά w ϚΠΫϩαʔϏεؒͷґଘؔ܎೺Ѳ w ϨΠςϯγʔͷϘτϧωοΫಛఆ w Τϥʔͷ఻೻ܦ࿏௥੻   ࣮૷͢Ε͹ࣗಈతʹऔಘ͢ΔϝτϦΫεΛऔಘͰ͖Δ IUUQTJTUJPJPMBUFTUEPDTDPODFQUTPCTFSWBCJMJUZ Distributed Trace for a single request ϝτϦΫε͚ͩͰ͸ͳ͘τϨʔγϯάͷ৘ใ΋औಘ͢Δࣄ͕Ͱ͖Δ ͜ΕΒͷπʔϧΛ૊Έ߹ΘͤΔ͜ͱͰɺ,VCFSOFUFT؀ڥʹ͓͚Δแׅతͳ؂ࢹ ମ੍ΛߏஙͰ͖·͢ɻಛʹɺ1SPNFUIFVTͱ*TUJPͷ࿈ܞʹΑΓɺΠϯϑϥετ ϥΫνϟ͔ΒΞϓϦέʔγϣϯϨϕϧ·ͰͷҰ؏ͨ͠Մ؍ଌੑΛ࣮ݱͰ͖·͢ɻ
  15. "MFSUNBOBHFS ΞϥʔτઃఆͱΤεΧϨʔγϣϯ wΞϥʔτ؅ཧͷࣗಈԽ w ΤεΧϨʔγϣϯϑϩʔͷఆٛ w Πϯγσϯτͷ෼ྨͱ༏ઌ౓෇͚ w 3VO#PPLͷࣗಈ࣮ߦ wϙετϞʔςϜ෼ੳͷࣗಈԽ

    w ڭ܇ͷମܥԽ w ࠶ൃ๷ࢭࡦͷ௥੻ w νʔϜؒͷ஌ࣝڞ༗   ࣗಈԽ͞Εͨਝ଎ͳΠϯγσϯτରԠ IUUQTQSPNFUIFVTJPEPDTBMFSUJOHMBUFTUDPO fi HVSBUJPO 1SPNFUIFVT 3VMF 3VMF 3VMF "MFSUNBOBHFS 3PVUFT 3FDFJWFST
  16. (JU0QTͱ͸ w(JU0QTͷఆٛ w γεςϜͷ๬·͍͠ঢ়ଶΛ(JUϦϙδτϦͰએݴతʹ؅ཧ w มߋ͸͢΂ͯ(JUΛ௨ͯ͡ߦΘΕɺࣗಈతʹ؀ڥʹ൓ө w ࣮ߦ؀ڥͷঢ়ଶ͸ৗʹ(JUϦϙδτϦͱಉظ w(JU0QTͷͭͷݪଇ 

     એݴతͳهड़ w Πϯϑϥ΍ΞϓϦέʔγϣϯͷঢ়ଶΛએݴతʹఆٛ w खଓ͖తͳεΫϦϓτͰ͸ͳ͘ɺ๬·͍͠ঢ়ଶΛهड़ όʔδϣϯ؅ཧ w ͢΂ͯͷมߋ͸(JUͰ௥੻Մೳ w มߋཤྺͱ؂ࠪূ੻ͷࣗಈతͳه࿥ ࣗಈಉظ w ؀ڥͷঢ়ଶΛ(JUϦϙδτϦͱࣗಈతʹಉظ w ࠩ෼Λݕ஌͠ɺ๬·͍͠ঢ়ଶ΁ͷऩଋΛࣗಈԽ ίϯϓϥΠΞϯεͱ੍ޚ w ঝೝϓϩηεΛίʔυϨϏϡʔͱ࣮ͯ͠૷ w 3#"$ʹΑΔΞΫηε੍ޚͷ࣮૷
  17. (JU0QTͱ͸ ʲओཁͳϝϦοτʳ Ұ؏ੑͷ͋Δมߋ؅ཧϓϩηε ΠϯϑϥετϥΫνϟͷόʔδϣϯ؅ཧ σϓϩΠϝϯτͷࣗಈԽͱ৴པੑ޲্ มߋͷ௥੻ՄೳੑͱίϯϓϥΠΞϯεରԠ ʲ࣮૷ͷϕετϓϥΫςΟεʳ ؀ڥ͝ͱͷߏ੒෼཭ γʔΫϨοτ؅ཧͷద੾ͳ࣮૷ ܧଓతͳݕূͱ؂ࢹͷ౷߹

    ϩʔϧόοΫखॱͷཱ֬   ϦϦʔε͍͍ͯ͠Ͱ͔͢ʁ $*શ෦௨͍ͬͯΔ͠ྑ͍Α .FSHFͬͱ ⋯ ͋ɺ൓ө͞Ε͍ͯΔΘ ͋Δ೔ͷҰນ IUUQTMFBSOJOHPSFJMMZDPNMJCSBSZWJFXDPOUJOVPVTEFQMPZNFOU ࠷ߴͳͷͰΦεεϝ
  18. มߋ؅ཧϓϩηε ʲঝೝϑϩʔʳ ίʔυϨϏϡʔͱ$*$%ύΠϓϥΠϯΛ௨ͯ͡ɺ มߋͷ඼࣭Λ֬อ͠·͢ɻ ʲݕূϓϩηεʳ w ࣗಈςετʹΑΔ඼࣭֬อ w ηΩϡϦςΟεΩϟϯʹΑΔϦεΫܰݮ w

    ίϯϓϥΠΞϯενΣοΫʹΑΔج४ద߹ ʲσϓϩΠϝϯτʳ 1SPHSFTTJWF%FMJWFSZ΍'FBUVSF'MBHTͳͲ׆༻͠ɺ ҆શͳϦϦʔεΛ࣮ݱ͠·͢ɻ   (JU0QTʹΑΔมߋ؅ཧͰ͸ɺ ͢΂ͯͷมߋΛίʔυͱͯ͠؅ཧ͠·͢ɻ ϦϦʔε͍͍ͯ͠Ͱ͔͢ʁ $*શ෦௨͍ͬͯΔ͠ྑ͍Α .FSHFͬͱ ⋯ ͋ɺ൓ө͞Ε͍ͯΔΘ ͋Δ೔ͷҰນ IUUQTMFBSOJOHPSFJMMZDPNMJCSBSZWJFXDPOUJOVPVTEFQMPZNFOU ࠷ߴͳͷͰΦεεϝ
  19. (JU0QTπʔϧνΣʔϯ ʲجຊΞʔΩςΫνϟίϯϙʔωϯτʳ w (JUϦϙδτϦʢιʔεʣ w $%0QFSBUPSʢ"SHP$%'MVYʣ w ,VCFSOFUFT"1*ʢλʔήοτʣ w ϞχλϦϯάπʔϧ

    ʲิ׬πʔϧʳ w ύΠϓϥΠϯ࣮ߦʢ5FLUPO (JU)VC"DUJPOTʣ w ίϯςφϨδετϦʢ)BSCPS (JU)VC1BDLBHFTʣ w ϚχϑΣετ؅ཧʢ,VTUPNJ[F )FMNʣ w ίϯςφͷνΣοΫͳͲ USJWZ "RVB LVCFDPOGPSN  ͳͲΛ༻͍ͯίεύͷྑ͍ࣗಈԽΛ࣮ݱ͠·͢ɻ   (JU0QTͷ࣮ફʹ͸ɺద੾ͳπʔϧͷબ୒͕ॏཁͰ͢ɻ IUUQTBSHPDESFBEUIFEPDTJPFOTUBCMF IUUQTMFBSOJOHPSFJMMZDPNMJCSBSZWJFXBSHPDEVQ ೥݄ʹग़·͢
  20. "SHP3PMMPVUTʹΑΔ1SPHSFTTJWF%FMJWFSZ w"SHP3PMMPVUTͷجຊػೳ w ΧφϦΞϦϦʔεͷࣗಈԽ w τϥϑΟοΫͷஈ֊తҠߦ੍ޚ w ϝτϦΫεϕʔεͷࣗಈ൑ఆ w ϩʔϧόοΫͷࣗಈԽ

      ஈ֊తσϓϩΠϝϯτʹΑΔϦεΫ࠷খԽ IUUQTBSHPSPMMPVUTSFBEUIFEPDTJPFOTUBCMFBSDIJUFDUVSF ΞϓϦέʔγϣϯ" 7FSTJPO $BOBSZ ΞϓϦέʔγϣϯ" 7FSTJPO ঃʑʹҠߦ͍ͯ͘͠ ΞϓϦέʔγϣϯͷ৽όʔδϣϯΛϢʔ βͷαϒηοτʹެ։͠ɺ࢒Γͷτϥϑ ΟοΫʹ͸چόʔδϣϯΛఏڙ͠·͢ɻ ৽όʔδϣϯ͕ਖ਼͍͜͠ͱ͕֬ೝ͞ΕΔ ͱɺ৽όʔδϣϯ͸ঃʑʹچόʔδϣϯ ʹऔͬͯ୅ΘΔ͜ͱ͕Ͱ͖Δɻ
  21. "SHP3PMMPVUTʹΑΔ1SPHSFTTJWF%FMJWFSZ w"SHP3PMMPVUTͷ෼ੳͱݕূ w 1SPNFUIFVTϝτϦΫεͱͷ࿈ܞ w ΧελϜ෼ੳςϯϓϨʔτ w ࣗಈ൑ఆ৚݅ͷઃఆ w #MVF(SFFOσϓϩΠϝϯτઓུ

      σʔλυϦϒϯͳ൑அʹΑΔϦϦʔεࣗಈԽ IUUQTBSHPSPMMPVUTSFBEUIFEPDTJPFOTUBCMFBSDIJUFDUVSF ΞϓϦέʔγϣϯ" W #MVF(SFFO ΞϓϦέʔγϣϯ" W
  22. ࣗಈεέʔϦϯάʹΑΔՄ༻ੑ֬อ w,VCFSOFUFTͷ)PSJ[POUBM1PE"VUPTDBMFS w Ϧιʔε࢖༻཰ʹجͮࣗ͘ಈεέʔϦϯά w ϝτϦΫεʹجͮ͘1PEͷϨϓϦΧ਺੍ޚ w Մ༻ੑͱίετͷόϥϯεΛऔΔ w εέʔϦϯάϙϦγʔͷઃఆ

      IUUQTLVCFSOFUFTJPEPDTUBTLTSVOBQQMJDBUJPOIPSJ[POUBMQPEBVUPTDBMF ϦιʔεΛͨ͘͞Μ࢖͍ͬͯΔ͔Β 1PEΛͨ͘͞Μ૿΍͍ͯ͘͠Αʙ ΋ͪΖΜɺݮΒͤΔΑ
  23. ࣗಈεέʔϦϯάʹΑΔՄ༻ੑ֬อ wΧελϜϝτϦΫε w 1SPNFUIFVT΍%BUBEPHͱͷ࿈ܞ w ϦΫΤετ਺΍Ωϡʔ௕ʹجͮ͘εέʔϦϯά w ϏδωεϝτϦΫεͷ׆༻ w ΑΓࡉ͔ͳ੍ޚ͕Մೳʹ

      IUUQTEPDTEBUBEPHIRDPNKBDPOUBJOFSTHVJEFDMVTUFS@BHFOU@BVUPTDBMJOH@NFUSJDT UBCEBUBEPHPQFSBUPS .FUSJDT4FSWFSҎ֎͔Β΋ ϦΫΤετΛ૿΍͢͜ͱ͕Ͱ͖ΔΑ IUUQTLVCFSOFUFTJPEPDTUBTLTSVOBQQMJDBUJPOIPSJ[POUBMQPEBVUPTDBMFTDBMJOHPODVTUPNNFUSJDT
  24. w$JSDVJU#SFBLFS *TUJP  w αʔϏεؒ௨৴ͷ੍ޚ w ো֐ͷ఻೻Λ๷͙ w ϦιʔεͷফඅΛ཈੍ w

    ෮چ࣌ͷஈ֊తͳճ෮ ো֐ͷݕ஌ͱ੍ޚ   ΞϓϦέʔγϣϯ" ΞϓϦέʔγϣϯ# &OWPZ &OWPZ $JSDVJU#SFBLFS $JSDVJU#SFBLFS IUUQTJTUJPJPMBUFTUEPDTUBTLTUSB ffi DNBOBHFNFOUDJSDVJUCSFBLJOH
  25. w ϝτϦΫεʹجͮࣗ͘ಈ੍ޚ 1SPNFUIFVTͱ"SHP3PMMPVUT  w Τϥʔ཰ͷ؂ࢹ w ϨΠςϯγʔͷ؂ࢹ w ϩʔϧΞ΢τͷࣗಈ੍ޚ

    ো֐ͷݕ஌ͱ੍ޚ   ΞϓϦέʔγϣϯ" W #MVF(SFFO IUUQTBSHPSPMMPVUTSFBEUIFEPDTJPFOTUBCMFGFBUVSFTCMVFHSFFO ΞϓϦέʔγϣϯ" W
  26. w ҟৗݕ஌ͱϩʔϧόοΫ 1SPNFUIFVTͱ"SHP3PMMPVUT  w 4-0ҧ൓ͷݕग़ w ࣗಈϩʔϧόοΫͷ࣮ߦ w Πϯγσϯτ௨஌ͷࣗಈԽ

    ো֐ͷݕ஌ͱ੍ޚ   "MFSUNBOBHFS IUUQTBSHPSPMMPVUTSFBEUIFEPDTJPFOTUBCMFBOBMZTJTQSPNFUIFVT ΞϓϦέʔγϣϯ" "OBMZTJT5FNQMBUF "SHP3PMMPVUT "SHP$% ϝτϦΫεධՁ ධՁ݁Ռ ϩʔϧόοΫ࣮ߦ
  27. ΞʔΩςΫνϟͱߏ੒ཁૉ ʲओཁίϯϙʔωϯτʳ w 1SPWJEFS֤Ϋϥ΢υϓϩόΠμʔͱͷ࿈ܞΛ୲౰ w $PNQPTJUJPOෳ਺Ϧιʔεͷ૊Έ߹ΘͤΛఆٛ w 1BDLBHF࠶ར༻Մೳͳߏ੒ΛύοέʔδԽ ʲ౷߹πʔϧʳ w

    5FSSBGPSNɺ1VMVNJɺ$MPVE'PSNBUJPOͳͲطଘͷ*B$πʔϧͱͷ ࿈ܞ΋ՄೳͰ͢ɻҠߦઓུʹԠͯ͡ஈ֊తͳಋೖ͕ՄೳͰ͢ɻ   $SPTTQMBOFʹΑΔΫϥ΢υϦιʔε؅ཧ͸ɺ,VCFSOFUFT "1*Λ֦ு͢Δ͜ͱͰ࣮ݱ͠·͢ɻ͜ΕʹΑΓɺෳ਺ͷΫϥ ΢υϓϩόΠμʔͷϦιʔεΛ౷Ұతʹ؅ཧͰ͖·͢ɻ IUUQTCMPHDSPTTQMBOFJPDSPTTQMBOFWTUFSSBGPSN $SPTTQMBOF"1*Λݺ΂Δ ͦΕΛ੍ޚͯ͘͠ΕΔ
  28. Ϧιʔε؅ཧͷ࣮૷ ʲ*OGSBTUSVDUVSFBT$PEFʳ w $3%ʹΑΔ"1*֦ு w 1SPWJEFS͝ͱͷઐ༻"1* w 3FDPODJMJBUJPOʹΑΔঢ়ଶ؅ཧ ʲ࣮૷ྫʳ w

    σʔλϕʔεɺΫϥελʔɺωοτϫʔΫͳͲɺ༷ʑͳϦιʔεΛ౷ ҰతͳΠϯλʔϑΣʔεͰ؅ཧͰ͖·͢ɻ   $SPTTQMBOFͷ࣮૷Ͱ͸ɺΧελϜϦιʔεΛ׆༻ͯ͠ એݴతͳ؅ཧΛ࣮ݱ͠·͢ɻ $SPTTQMBOF"1*Λݺ΂Δ ͦΕΛ੍ޚͯ͘͠ΕΔ
  29. Ϧιʔε؅ཧͷ࣮૷ ʲઃܭύλʔϯʳ w 1SPWJEFSઃఆͷ෼཭ʹΑΔॊೈੑ֬อ w ؀ڥผ$PNQPTJUJPOʹΑΔ؅ཧͷ؆ૉԽ w ద੾ͳόʔδϣϯ؅ཧઓུͷ࠾༻ ʲӡ༻ʳ w

    3#"$ͱ4FDSFUT؅ཧΛద੾ʹߦ͍ɺ؂ࠪϩάʹΑΔ௥੻ՄೳੑΛ֬อ͠·͢ɻ w #MVF(SFFO%FQMPZNFOU΍$BOBSZ3FMFBTFͳͲɺϦεΫΛ࠷খԽ͢Δσϓϩ ΠઓུΛ࠾༻͠·͢ɻ   $SPTTQMBOF͸ೖΕΕ͹શ͕ͯղܾ͢Δۜͷ஄ؙͰ͸ͳ͍ ޮՌతͳࣗಈԽʹ͸ɺద੾ͳઃܭύλʔϯͱӡ༻ϓϥΫςΟε ͕ॏཁͰ͢ɻ $SPTTQMBOF"1*Λݺ΂Δ ͦΕΛ੍ޚͯ͘͠ΕΔ
  30. ඪ४Խ͞Εͨΰʔϧσϯύε ਝ଎ͳϓϩδΣΫτ։ൃΛ࣮ݱ͢ΔϕετϓϥΫςΟεͷମܥԽ ΰʔϧσϯύεͱ͸ɺΞϓϦέʔγϣϯ΍αʔϏεͷ։ൃɾӡ༻ʹ͓͚Δਪ঑ύλʔϯΛඪ४ Խ͠ɺηϧϑαʔϏεԽ͞ΕͨςϯϓϨʔτͱͯ͠ఏڙ͢Δ΋ͷͰ͢ɻ wڞ௨ج൫ͷ੔උ w ඪ४Խ͞Εͨ$*$%ύΠϓϥΠϯͷఏڙ w ڞ௨ϞχλϦϯάج൫ͷ੔උ w

    ΤϥʔόδΣοτʹجͮ͘4-04-*ͷ౷Ұ؅ཧ wࣗಈԽͷଅਐ w *OGSBTUSVDUVSFBT$PEFςϯϓϨʔτͷఏڙ w ࣗಈσϓϩΠϝϯτͷඪ४Խ w ো֐ରԠͷࣗಈԽͱखॱԽ   IUUQTUBHBQQEFMJWFSZDODGJPXIJUFQBQFSTQMBUGPSNT
  31. ϓϥοτϑΥʔϜͷ੒ख़౓Ϟσϧ ૊৫ͱϓϥοτϑΥʔϜͷஈ֊తͳਐԽͷಓے Ϋϥ΢υωΠςΟϒͱϓϥοτϑΥʔϜΤϯδχΞϦϯάɺͭͷ੒ख़౓ϞσϧΛ૊Έ߹Θͤͯ ૊৫Λൃలͤ͞·͢ɻ૊৫΍ମ੍Λ͔͑Δ͜ͱ͕ඞཁͱͳΔɻ w$MPVE/BUJWF੒ख़౓Ϟσϧ w ૊৫ɾٕज़ɾจԽͷ࣠ͰͷධՁ w Ϩϕϧ ࠾༻

    ͔ΒϨϕϧ ࠷దԽ  w Πϯϑϥ࣮૷ͷ੒ख़౓ࢦඪ w1MBUGPSN&OHJOFFSJOH੒ख़౓Ϟσϧ w ౤ࢿɾ࠾༻ɾΠϯλʔϑΣʔεɾӡ༻ɾଌఆͷ࣠ w ࢑ఆతˠઓུతˠεέʔϥϒϧˠ࠷దԽ w σϕϩούʔମݧͷ޲্ࢦඪ   IUUQTNBUVSJUZNPEFMDODGJP IUUQTUBHBQQEFMJWFSZDODGJPXIJUFQBQFSTQMBUGPSNFOHNBUVSJUZNPEFM
  32. ৴པੑࢦඪͱܧଓతվળ σʔλͱϑΟʔυόοΫʹجͮ͘ϓϥοτϑΥʔϜͷਐԽ 43&ͷݪଇʹج͖ͮɺఆྔతͳࢦඪͱϑΟʔυόοΫϧʔϓΛཱ֬͠ɺܧଓతͳվળΛ࣮ݱ͠·͢ɻ w৴པੑ؅ཧ w 4-04-*ͷઃఆͱ؂ࢹ w ΤϥʔόδΣοτͷ؅ཧ w Πϯγσϯτ෼ੳͷࣗಈԽ

    w Ξ΢τϓοτ͚ͩͰ͸ͳ͘Ξ΢τΧϜ΋ߟ͑Δ wվળαΠΫϧ w ϙετϞʔςϜͷ࣮ࢪͱڞ༗ w ࣗಈ෮چखॱͷ੔උ w φϨοδϕʔεͷߏங   IUUQTMFBSOJOHPSFJMMZDPNMJCSBSZWJFXQMBUGPSNFOHJOFFSJOH ٕज़Ҏ֎Ͱ͸Ͳ͏ʹ΋ͳΒͳ͍ ͱ͍͏ͷ͕ॻ͍ͯ͋Δຊ
  33. ࣗݾम෮ػೳʹΑΔࣗಈԽٴͼ4-0ୡ੒ w1SPCFʹΑΔஈ֊తͳো֐ݕ஌ w ΞϓϦέʔγϣϯͷࢮ׆؂ࢹ w τϥϑΟοΫͷࣗಈ੾Γ཭͠   https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/ Startup

    Probe • ॳظىಈ࣌ͷΈ࣮ߦ • ىಈͷ׬ྃΛ൑ఆ • ଞͷProbe͸੒ޭ͢Δ·Ͱ։࢝͞Εͳ͍ Liveness Probe • ఆظతͳੜଘ֬ೝ • ࣦഊ࣌͸PodΛ࠶ىಈ • ΞϓϦέʔγϣϯͷࢮ׆؂ࢹ Readiness Probe • τϥϑΟοΫड෇Մ൱ͷ൑ఆ • ࣦഊ࣌͸Service͔Βআ֎ • Ұ࣌తͳաෛՙ΁ͷରԠ ىಈॲཧ 4UBSUVQ ੜଘ֬ೝ -JWFOFTT ड෇൑ఆ 3FBEOFTT
  34. ,VCFSOFUFTͷ֦ு w,VCFSOFUFTʹ͸͍͔ͭ͘ͷ֦ுϙΠϯτ͕͋Δ w ,VCFSOFUFT"1*֦ு w ΧελϜϦιʔε w "1*"HHSFHBUJPO w ೝূɾೝՄ

    w %ZOBNJD"ENJTTJPO$POUSPM w "ENJTTJPO8FCIPPL w ετϨʔδϓϥάΠϯ w ωοτϫʔΫϓϥάΠϯ w σόΠεϓϥάΠϯ w εέδϡʔϥ֦ு  
  35. ΧελϜϦιʔε wϢʔβʔ͕ಠࣗͷϦιʔεΛ௥ՃͰ͖Δ w "1*4FSWFS͕ಈతʹϢʔβʔఆٛͷϦιʔεΛೝࣝ w $VTUPN3FTPVSDF%F fi OJUJPO $3% Λఆٛ

    w Ͳ͏͍͏ೖྗΛड͚ͯͲ͏ॲཧͯ͠ͲΜͳ݁ՌΛอଘ͢Δ͔ߟ͑Δ w FH 'PPΧελϜϦιʔε   apiVersion: samplecontroller.k8s.io/v1alpha1 kind: Foo metadata: name: example-foo spec: deploymentName: example-foo replicas: 1 https://github.com/kubernetes/sample-controller
  36. ΧελϜϦιʔε •,VCFSOFUFTʹ଍Γͳ͍ػೳΛิ͏ ◦,VCFSOFUFTͷίΞػೳΛ૊Έ߹Θͤͯந৅Խ FH,VCF7FMB ,OBUJWF  ◦,VCFSOFUFT্Ͱͷϛυϧ΢ΣΞͷӡ༻ͷࣗಈԽ FH7JUFTT &$, 

    ◦Ϋϥ΢υϓϩόΠμʔͷϦιʔεͷ؅ཧ FH$SPTTQMBOF $POGJH$POOFDUPS  ◦ӡ༻্ͷτΠϧͷ࡟ݮ FH$FSU.BOBHFS &YUFSOBM%/4  ◦,VCFSOFUFT্ʹϚϧνςφϯτ؀ڥΛߏங FH)/$ WDMVTUFS  ◦,VCFSOFUFTͷίΞػೳͱͯ͠૊ΈࠐΉલͷ࣮ݧ FH(BUFXBZ"1* +PC4FU  
  37. $MPVE&WFOUTʹΑΔΠϕϯτج൫ w$MPVE&WFOUTͷجຊߏ଄ w ϚϧνΫϥ΢υ؀ڥͰͷΠϕϯτ౷߹ w ΠϕϯτϧʔςΟϯάͷࣗಈԽ w σʔλͷҰݩ؅ཧ  

    ඪ४Խ͞ΕͨΠϕϯτ͕΋ͨΒ͢Մࢹੑͷ޲্ ֤αʔϏε͕ಠࣗͷΠϕϯτϑΥʔϚοτΛ࢖༻͢Δ໰୊Λղܾ IUUQTLOBUJWFEFWEPDTFWFOUJOHTPVSDFT IUUQTHJUIVCDPNDMPVEFWFOUTTELHP IUUQTHJUIVCDPNDMPVEFWFOUTTQFDCMPCWDMPVEFWFOUTQSJNFSNE ඞਢଐੑ: • id: ΠϕϯτͷҰҙࣝผࢠ • source: ΠϕϯτൃੜίϯςΩετͷURIࢀর • specversion: CloudEvents࢓༷όʔδϣϯʢ"1.0"ʣ • type: ΠϕϯτλΠϓͷهड़ ඞਢଐੑ: • id: ΠϕϯτͷҰҙࣝผࢠ • source: ΠϕϯτൃੜίϯςΩετͷURIࢀর • specversion: CloudEvents࢓༷όʔδϣϯʢ"1.0"ʣ • type: ΠϕϯτλΠϓͷهड़
  38. $MPVE&WFOUTʹΑΔΠϕϯτج൫ wΠϕϯτͷ഑৴Ϟʔυ w 4USVDUVSFE.PEF w Πϕϯτશମ͕ϑΥʔϚοτʢ+40/౳ʣͰΤϯίʔυ w ϝοηʔδϘσΟʹ֨ೲ w #JOBSZ.PEF

    w Πϕϯτσʔλ͸ϝοηʔδϘσΟ w ଐੑ͸ϝλσʔλͱͯ֨͠ೲ   ΠϕϯτυϦϒϯͳӡ༻ࣗಈԽͷ࣮ݱ Ϋϥ΢υϓϩόΠμʔؒͰͷΠϕϯτ૬ޓӡ༻ੑΛ֬อ ࣮૷ྫ ,OBUJWF&WFOUJOH &WFOU4PVSDF $MPVE&WFOUT 3PVUFS $POTVNFS .POJUPSJOH -PH 5SBDJOH $MPVE&WFOUT"EPQUFSTΑΓҾ༻ IUUQTDMPVEFWFOUTJP
  39. $%&WFOUTʹΑΔύΠϓϥΠϯ෼ੳ w $%&WFOUTʹΑΔύΠϓϥΠϯͷ௥੻ w ϘτϧωοΫͷಛఆ w σϓϩΠϝϯτࢦඪͷऩू w ύΠϓϥΠϯͷ࠷దԽ 

     $%&WFOUT͸$*$%ύΠϓϥΠϯͷΠϕϯτΛඪ४Խ͢Δ࢓༷Ͱɺ$MPVE&WFOUTΛϕʔεʹ͍ͯ͠·͢ɻ IUUQTDEFWFOUTEFWEPDTQSJNFSΑΓҾ༻
  40. $%&WFOUTʹΑΔύΠϓϥΠϯ෼ੳ w $%&WFOUTʹΑΔύΠϓϥΠϯͷ௥੻ w Ϗϧυ࣌ؒͷ෼ੳ w ςετΧόϨοδͷ௥੻ w σϓϩΠ੒ޭ཰ͷ؂ࢹϦʔυλΠϜͷ࠷దԽ 

     $*$%πʔϧνΣʔϯશମͰ౷ҰతͳΠϕϯτ؅ཧΛ࣮ݱ͢Δʮڞ௨ϓϩτίϧʯͰ͢ɻ IUUQTDEGPVOEBUJPOCMPHDEFWFOUTSFBMXPSMEBEPQUJPO
  41. ,FQUO-JGFDZDMF5PPMLJUͷ׆༻ w,FQUOʹΑΔ඼࣭ήʔτ w 4-0ධՁͷࣗಈԽ w ܧଓతͳύϑΥʔϚϯε෼ੳ w ϑΟʔυόοΫϧʔϓͷཱ֬  

    ,FQUO͸ɺΫϥ΢υωΠςΟϒΞϓϦέʔγϣϯͷܧଓతσϦόϦʔͱӡ༻ࣗಈԽͷͨΊͷπʔϧͰ͢ɻ IUUQTWLFQUOTIΑΓҾ༻
  42. ,FQUO-JGFDZDMF5PPMLJUͷ׆༻ wࣗಈධՁج४ͷઃఆ w ཤྺσʔλͷ෼ੳ w τϨϯυ෼ੳ w Ξϥʔτઃఆͷ࠷దԽ  

    ϝτϦΫεͷऩू͔Β෼ੳɺΞϥʔτൃใ·ͰΛࣗಈԽ͠ɺաڈͷཤྺσʔλΛجʹධՁج४Λܧଓతʹ࠷దԽ͢Δ࢓૊Έ IUUQTWLFQUOTIΑΓҾ༻
  43. ·ͱΊ w43&͸γεςϜͷ৴པੑΛ੍ޚ͢Δٕज़ w ϝτϦΫεʹجͮ͘ఆྔతͳ؅ཧ w ࣗಈԽʹΑΔޮ཰తͳӡ༻ w σʔλυϦϒϯͳҙࢥܾఆ w,VCFSOFUFT͸৴པੑΛ࣮ݱͷͨΊͷج൫Λఏڙ w

    ๛෋ͳ֦ுػೳ w ΦʔϓϯιʔεΤίγεςϜ w એݴతͳӡ༻ࣗಈԽ w੒ޭʹ޲͚ͨϙΠϯτ w ૊৫ͷ੒ख़౓ʹԠͨ͡ஈ֊తಋೖ w ద੾ͳπʔϧͷબ୒ͱ૊Έ߹Θͤ w ܧଓతͳվળαΠΫϧͷཱ֬  
  44. ࢀߟࢿྉ w಺੡ԽΛݟਾ͑ͨޮՌతͳ43&ࢧԉͷΞϓϩʔν43&TVQQPSUBQQSPBDI w IUUQTTQFBLFSEFDLDPNLPKBLF@TSFOFYUOFJ[IJIVBXPKJBOKVFUBYJBPHVPEF OBTSF[IJZVBOOPBQVSPUJ w43&Λ͸͡ΊΑ͏ w IUUQTXXXPSFJMMZDPKQCPPLT w43&αΠτϦϥΠΞϏϦςΟΤϯδχΞϦϯά w

    IUUQTXXXPSFJMMZDPKQCPPLT w4-0αʔϏεϨϕϧ໨ඪ w IUUQTXXXPSFJMMZDPKQCPPLT w1MBUGPSN&OHJOFFSJOH w IUUQTMFBSOJOHPSFJMMZDPNMJCSBSZWJFXQMBUGPSNFOHJOFFSJOH  
  45. ࢀߟࢿྉ w$POUJOVPVT%FQMPZNFOU w IUUQTMFBSOJOHPSFJMMZDPNMJCSBSZWJFXDPOUJOVPVTEFQMPZNFOU w1MBUGPSN$BQBCJMJUZ.BUVSJUZ.PEFM w IUUQTUBHBQQEFMJWFSZDODGJPXIJUFQBQFSTQMBUGPSNT w$/$'$MPVE/BUJWF.BUVSJUZ.PEFM w IUUQTNBUVSJUZNPEFMDODGJP

    w1MBUGPSN&OHJOFFSJOH.BUVSJUZ.PEFM w IUUQTUBHBQQEFMJWFSZDODGJPXIJUFQBQFSTQMBUGPSNFOHNBUVSJUZNPEFM w$%&WFOUT3FBM8PSME"EPQUJPO w IUUQTDEGPVOEBUJPOCMPHDEFWFOUTSFBMXPSMEBEPQUJPO  
  46. ࢀߟࢿྉ w$MPVEFWFOUT w IUUQTDMPVEFWFOUTJP w$%&WFOUT w IUUQTDEFWFOUTEFWEPDTQSJNFS w$IBPT.FTI w IUUQTDIBPTNFTIPSH

    w,FQUO w IUUQTWLFQUOTI wೖ໳0QFO5FMFNFUSZ w IUUQTXXXPSFJMMZDPKQCPPLT