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

k8sgpt Deep Dive: KubernetesクラスタのAI駆動型分析について

nwiizo
August 03, 2023

k8sgpt Deep Dive: KubernetesクラスタのAI駆動型分析について

k8sgpt Deep Dive: KubernetesクラスタのAI駆動型分析についてというタイトルで登壇しました

2023年8月3日 CloudNative Days Fukuoka 2023
https://event.cloudnativedays.jp/cndf2023

k8sgpt Deep Dive: KubernetesクラスタのAI駆動型分析について
https://event.cloudnativedays.jp/cndf2023/talks/1885

K8sGPT Deep Dive というタイトルで登壇しました #CNDF - じゃあ、おうちで学べる
https://syu-m-5151.hatenablog.com/entry/2023/08/03/155326

nwiizo

August 03, 2023
Tweet

More Decks by nwiizo

Other Decks in Technology

Transcript

  1. ྫ͑͹ɺ,T(15Λ࢖ͬͯΈΔ  ,T(15ͷΑ͏ͳπʔϧ͸ɺҰൠతʹ"*0QTʢ"*ʹΑΔ*5ӡ༻ʣͱݴΘΕ͍ͯ·͢ɻࣗಈԽɺޮ཰ੑɺ ͦͯ͠༧๷తͳ໰୊ղܾΛՄೳʹ͢Δ͜ͱͰɺ*5ӡ༻ͷύϑΥʔϚϯεͱ৴པੑΛ޲্ͤ͞·͢ɻ ,T(15Λਂ۷Γͯ͠ࠓޙɺଞͷٕज़ͱ͜Ε͔Βൺ΂ΔͨΊʹઌʹ"*0QTͷ࿩Λ͍͖ͯ͠·͢ $ kubectl apply -f failer.yaml

    #1 $ k8sgpt analyzeɹ #2 $ kubectl apply -f success.yaml #3 LVCFSOFUFT ޡͬͨઃఆϑΝΠϧΛσϓϩΠ LVCFSOFUFTDMVTUFS෼ੳݪҼͷಛఆ ಛఆ͞ΕͨݪҼΛࢀߟʹमਖ਼ͯ͠࠶౓σϓϩΠ Ͱͷ෼ੳ݁ՌʹΑΓݪҼΛಛఆ EFGBVMUGBJMFSQPE GBJMFSQPE 
 &SSPS#BDLP ff QVMMJOHJNBHFlGBJMFS
  2. ΞδΣϯμ w "CPVUTIBLF ޿ࠂ  w ͳͥɺ43&͸"*ٕज़Λ࢖͏ͷ͔ʁ w "*0QTʹ͍ͭͯ w

    ,T(15ͱͦͷ࢓૊Έʹ͍ͭͯ w ,T(15ͷ࣮ӡ༻Πϝʔδ
  3. 4SFBLF43&ʢ43&૯߹ࢧԉαʔϏεʣ w 43&ͷߟ͑ํʹैͬͯɺ"84΍(PPHMFΫϥ΢υΛར༻͍ͯ͠Δ͓٬༷αʔϏεͷ 
 ٕज़ઓུɺઃܭɺߏஙɺӡ༻·ͰΛϫϯετοϓͰࢧԉ͢ΔαʔϏε w ϚΠΫϩαʔϏεɺLTͳͲΫϥ΢υωΠςΟϒͳٕज़ྖҬʹڧΈ w ϕϯμʔతͳ໾ׂͰ͸ͳ͘ʮ͓٬༷ͷνʔϜϝϯόʔʯͱ͍͏ཱͪҐஔͰ࠷৽ٕज़ ͷఏҊ͔Β

     Roadmap SRE ͷ։࢝ ·ͣ͸খ͘͞ɻ ޮՌ͕࠷େݶʹग़Δͱ͜Ζ ͔Βίπίπͱ࢝ΊΑ͏ SRE νʔϜͷఆٛ ૊৫ʹ͋ͬͨ SRE Λఆٛ͠Α͏ SRE࣮ફ SLIɾSLO ͷઃఆ Toil ࡟ݮ (ࣗಈԽਪਐ) SRE ͷൃలͱܧଓ SREͷจԽ͕ਁಁ͢Δ 
 Error Budget Λݩʹ
 ۀ຿Λίϯτϩʔϧ͍ͯ͘͠
  4. "*0QTͷྖҬͱద༻ൣғ w "*0QT͸*5ӡ༻ͷ͞·͟·ͳྖҬ w ؂ࢹɺΠϕϯτ෼ੳɺ༧ଌͱਪ঑γεςϜɺίϥϘϨʔγ ϣϯͱΤϯήʔδϝϯτɺͦͯ͠ϨϙʔςΟϯάͱμογ ϡϘʔσΟϯάٕज़ɻ w "*0QT͸৘ใٕज़ͷ͞·͟·ͳϨΠϠʔͰʜ w

    ωοτϫʔΫ͔ΒΤϯυϙΠϯτ·Ͱɺ*5ͷશ͕ͯ"*0QT ٕज़Λར༻ͯ͠ɺ"*0QT͕ఏڙ͢Δར఺Λڗड͢Δ͜ͱ͕ Ͱ͖·͢ɻ  IUUQTMFBSOJOHPSFJMMZDPNMJCSBSZWJFXIBOETPOBJPQTCFTU )BOETPO"*0QT "*0QTJOUIF*5PQFSBUJPOTMBOETDBQF)BOETPO"*0QTΑΓҾ༻
  5. طଘͷ*5ӡ༻؅ཧπʔϧͰͷ"*0QTͷαʔϏεʹ͓͚Δ௥Ճ  %BUBEPHɺࠜຊݪҼ෼ੳػೳͱϩάҟৗݕ஌ػೳʹΑΓ 8BUDIEPH"*Τϯδϯ֦ு IUUQTXXXEBUBEPHIRDPNKBBCPVUMBUFTUOFXTQSFTTSFMFBTFTEBUBEPHXBUDIEPHBJ ࣗಈԽ͞ΕͨࠜຊݪҼ෼ੳʹΑΓɺΞϓϦέʔγϣϯͷύϑΥʔϚϯε໰ ୊ΛΑΓਝ଎ʹݕ஌ɺௐࠪɺղܾ͠ɺνʔϜͷʰΞϥʔτർΕʱΛܰݮ 
 8BUDIEPHͷαΠτΑΓҾ༻ 1BHFS%VUZ৽ػೳʮ"*0QTΞυΦϯʯΛϦϦʔε

    IUUQTXXXQBHFSEVUZDPKQJOUSPEVDJOHQBHFSEVUZBJPQT (MPCBM&WFOU0SDIFTUSBUJPOΛ༻͍ͯɺ1BHFS%VUZͷαʔ ϏεͰͷϧʔςΟϯά࠷దԽͱࣗݾम෮ΛࣗಈԽ͠·͢ɻ 1BHFS%VUZ"*0QTαΠτΑΓҾ༻ ͋͘·ͰҰྫͱͯ͠঺հ͠·ͨ͠ɻ "*0QT1MBUGPSNT3FWJFXTBOE3BUJOHT IUUQTXXXHBSUOFSDPNSFWJFXTNBSLFUBJPQTQMBUGPSNT
  6. ͓͢͢Ίࢀߟࢿྉ w "*0QTͷͭͷ࢝Ίํ  ଴ͬͯ͸͍͚·ͤΜɻ  খ࢝͘͞ΊΔ  ࣗ෼ࣗ਎͕੒௕͢Δ 

    ࣗ༝ʹ࣮ݧ͍ͯͩ͘͠͞ɻ  *5෦໳ͷ֞ࠜΛӽ͑ͯਓࡐΛٻΊɺ׆༻͢Δ  ඪ४Խ  ຊ֨ಋೖΛݟਾ͑ͯߟ͑Δ  IUUQTTQFBLFSEFDLDPNZVVLJUTSFOFYU IUUQTXXXHBSUOFSDPNTNBSUFSXJUIHBSUOFSIPXUPHFUTUBSUFEXJUIBJPQT "*0QTͱ43&ʹ͍ͭͯݟࣄʹ੔ཧ͞Ε͍ͯΔ
  7. "*0QT"SDIJUFDUVSF  0CTFSWF .POJUPSJOH &/("(& "OBMZUJDT "$5 "VUPNBUJPO w"*0QTͷશମ૾ w

    "*0QTγεςϜ͸ओʹɺ؂ࢹɺ෼ੳɺࣗಈԽͷͭͷྖҬ͔Β੒Γཱ͍ͬͯ ·͢ɻ"*0QTͷΞʔΩςΫνϟ͸ɺ͜ΕΒͭͷྖҬؒͷγʔϜϨεͳ౷߹ ͷٕज़ͱख๏Λఏڙ͢Δ͜ͱͰ"*0QTͷ࣮ݱΛ໨ࢦ͠·͢ɻ(BSUOFS͕ఆ ٛ͢Δ*5ӡ༻όϦϡʔνΣʔϯͷͭͷίΞαʔϏεʹ͓͚Δ֤ϓϩηεͱ ػೳʹର͢Δ"*0QTϓϥοτϑΥʔϜͷద༻ՄೳੑΛఆ͍ٛͯ͠·͢ɻ w ΠϕϯτɺϝτϦΫεɺτϨʔγϯά w աڈσʔλ෼ੳ w ҟৗݕग़ w ύϑΥʔϚϯε෼ੳ w ૬ؔؔ܎ͱจ຺Խ w ো֐ରԠɺґଘؔ܎ɺมߋ w λεΫࣗಈԽ w มߋϦεΫ෼ੳ w ύϑΥʔϚϯε෼ੳ w ,OPXMFEHF؅ཧ w 4DSJQUT w 3VOCPPL w "3"
  8. "*0QT"SDIJUFDUVSF  0CTFSWF .POJUPSJOH &/("(& "OBMZUJDT "$5 "VUPNBUJPO w"*0QTͷશମ૾ w

    ΠϕϯτɺϝτϦΫεɺτϨʔγϯά w աڈσʔλ෼ੳ w ҟৗݕग़ w ύϑΥʔϚϯε෼ੳ w ૬ؔؔ܎ͱจ຺Խ w ো֐ରԠɺґଘؔ܎ɺมߋ w λεΫࣗಈԽ w มߋϦεΫ෼ੳ w ύϑΥʔϚϯε෼ੳ w ,OPXMFEHF؅ཧ w 4DSJQUT w 3VOCPPL w "3" ͜ΕΒͷ֤ྖҬΛਂ͘୳Γɺ"*0QT͕ͦΕͧΕʹͲͷΑ͏ͳӨڹΛ༩͑Δ͔Λݟ͍͖ͯ·͢ɻ 0CTFSWF .POJUPSJOH  ఻౷తͳ؂ࢹͷൣᙝΛ௒͑ɺΤϯυπʔΤϯυͷՄࢹੑʹয఺Λ౰ͯͨ؍࡯ೳྗ &/("(& "OBMZUJDT  *5αʔϏε؅ཧͱͦͷ෼ੳϓϩηεͷྖҬɻ "$5 "VUPNBUJPO  ςΫχΧϧνʔϜ͕*5໰୊ͷղܾͱมߋ؅ཧͷྖҬɻ
  9. 0CTFSWF΋͘͠͸0CTFSWBCJMJUZ΋͘͠͸Մ؍ଌੑ w"*0QTΛ࢖༻ͨ͠Մ؍ଌੑ  %BUB*OHFTUJPO σʔλऔΓࠐΈ &WFOU1SPDFTTJOH Πϕϯτॲཧ &WFOU"OBMZUJDT Πϕϯτ෼ੳ 'FFE#BDL

    
 ϑΟʔυόοΫ %BUB*OHFTUJPO σʔλऔΓࠐΈͱ౷߹͸ɺ"*0QTʹ͓͚ΔॏཁͳॳظεςοϓͰɺ֤छͷ؂ࢹσʔλΛҰݩతʹऔΓࠐΈɺ෼ੳՄೳ ʹ͢Δ͜ͱ͕໨ࢦ͞Ε·͢ɻ͜ͷϓϩηε͸ϦΞϧλΠϜͱఆظతͳσʔλͷΞοϓϩʔυΛ౷߹͠ɺ͞·͟·ͳ؂ ࢹγεςϜ͔ΒͷσʔλΛ౷Ұతʹ؅ཧͰ͖ΔΑ͏ʹ͠·͢ɻ &WFOU1SPDFTTJOH Πϕϯτͷ཈੍ͱॏෳഉআ͸ɺ"*0QTʹ͓͚ΔॏཁͳσʔλॲཧखॱͰ͢ɻΠϕϯτͷ཈੍͸ɺෆཁͳܯࠂΛফڈ ͠ɺϊΠζΛݮΒ͠·͢ɻҰํɺΠϕϯτͷॏෳഉআ͸ɺಉҰͷΠϕϯτΛू໿͠ɺσʔλͷॏෳΛഉআ͠·͢ɻ͜Ε Βͷखଓ͖Λ௨ͯ͡ɺ"*0QTγεςϜ͸৘ใΛ࠷దԽ͠ɺඞཁͳσʔλͷΈΛ෼ੳ͢Δ͜ͱ͕ՄೳʹͳΓ·͢ɻ &WFOU"OBMZUJDT ෳ਺ͷιʔε͔ΒಘΒΕΔΠϕϯτ΍σʔλͷಎ࡯Λఏڙ͠ɺ͜ΕΒͷ৘ใΛؔ࿈෇͚ͯશମ૾Λ೺Ѳ͢ΔϓϩηεͰ͢ɻ͜ͷϓϩηεͰ ͸ɺϧʔϧϕʔεͷ૬ؔ෼ੳͱػցֶश͕׆༻͞Εɺ͜ΕΒ͸*5ӡ༻νʔϜ͕େྔͷσʔλΛޮ཰తʹղੳ͠ɺ໰୊Λૣظʹಛఆɺ༧๷ɺͦ ͯ͠ղܾ͢ΔͨΊͷڧྗͳπʔϧͱͳΓ·͢ɻ͞Βʹɺ༧ଌ෼ੳΛ௨ͯ͡ɺաڈͷσʔλͱύλʔϯΛجʹະདྷͷγεςϜͷύϑΥʔϚϯε ΍໰୊Λ༧ଌ͢Δೳྗ΋ఏڙ͠·͢ɻ 'FFE#BDL ϑΟʔυόοΫ͸ɺ"*0QTͷʮ؍࡯ʯϓϩηεͷ࠷ޙͷεςοϓͰ͋Γɺ͓ͦΒ͘࠷΋ॏཁͳεςοϓͰ͢ɻ͜Εʹ ΑΓɺ"*0QTΤϯδϯͷϧʔτݪҼ෼ੳͷਫ਼౓͕޲্͠ɺࣗಈԽͷϨϕϧʹ౸ୡ͠·͢ɻ *OUFHSBUJPO ౷߹ &WFOU4VQQSFTTJPO Πϕϯτͷ཈੍ 
 &WFOU%FEVQMJDBUJPO ॏෳഉআ 3VMF#BTFE$PSSFMBUJPO ϧʔϧϕʔεͷ૬ؔؔ܎ 
 .BDIJOF-FBSOJOHr#BTFE$PSSFMBUJPO 
 ػցֶशϕʔεͷ૬ؔؔ܎  7JTVBMJ[BUJPO ࢹ֮Խ  $PMMBCPSBUJPO
  10. ͓͢͢Ίࢀߟࢿྉ 5&.1-&4JY1JMMBSTPG0CTFSWBCJMJUZ w 5SBDFT w &WFOUT w .FUSJDT w 1SP

    fi MFT w -PHT w &YDFQUJPOT  Valley of the Temples, Agrigento, AG, Italy. Photo by Dario Crisafulli on Unsplash. IUUQTNFEJVNDPN!:VSJ4ILVSPUFNQMFTJYQJMMBSTPGPCTFSWBCJMJUZBDFEFC ΦϒβʔόϏϦςΟɾΤϯδχΞϦϯά https://www.oreilly.co.jp/books/9784814400126/ ೥݄ʹ຋༁ຊ͕ग़ͨͷͰͱͯ΋خ͍͠
  11. 5BTL1SPDFTTJOH &OHBHF΋͘͠͸"OBMZUJDT wϦΞϧλΠϜͱΦϯσϚϯυͷ෼ੳͷ༥߹ w &OHBHFྖҬ͸*54.ʢ*5αʔϏε؅ཧʣͱͦͷػೳʹؔ࿈͠ɺ"*0QTʢ*5ӡ༻ͷͨΊͷ"*ʣྖҬʹ͓͍ ͯॏཁͳ෦෼Λ઎Ί·͢ɻ͜Ε͸ओʹ֤ػೳʹΑΔϓϩηεͷ࣮ߦ΍ɺϓϩηε΍ਓʑʹؔ͢ΔϝτϦΫ εΛѻ͍ͬͯ·͢ɻ&OHBHFྖҬ͸αʔϏε؅ཧσʔλΛѻ͍ɺΠϯγσϯτ؅ཧɺ໰୊؅ཧɺมߋ؅ ཧɺઃఆ؅ཧɺαʔϏεϨϕϧܖ໿ɺՄ༻ੑɺΩϟύγςΟ؅ཧͳͲͷॏཁͳ*54.ػೳͰߦΘΕΔશͯ ͷΞΫγϣϯͷϦϙδτϦͱͳΓ·͢ɻ w

    *54.ʹ͓͚ΔॏཁͳϥΠϑαΠΫϧεςʔδ͸αʔϏεͷܧଓతͳվળͰ͋Γɺ"*0QTʹ͓͚Δ෼ੳͷ େ෦෼͕͜͜ͰߦΘΕ·͢ɻ0CTFSWFྖҬͰ͸ɺओཁͳσʔλ͸ΠϕϯτɺϝτϦΫεɺϩάɺτϨʔε ΛؚΈ·͕͢ɺ&OHBHFྖҬͰ͸ओཁͳσʔλ͸༷ʑͳϓϩηεͰߦΘΕΔ׆ಈʹؔ࿈͍ͯ͠·͢ɻ 0CTFSWFྖҬͷϫʔΫϑϩʔ͸ओʹϚγϯؒͰߦΘΕ·͕͢ɺ&OHBHFྖҬͷϫʔΫϑϩʔ͸ਓؒͷཁૉ ΛؚΜͰ͍·͢ɻ w 0CTFSWFྖҬͷσʔλ͸ओʹϦΞϧλΠϜͰ͕͢ɺ&OHBHFྖҬͰ͸ϦΞϧλΠϜσʔλͱΦϯσϚϯυ ͷ෼ੳ͕ࠞࡏ͍ͯ͠·͢ɻ  *ODJEFOU$SFBUJPO "OBMZUJDT ղੳ 'FFE#BDL 
 ϑΟʔυόοΫ 5BTL"TTJHONFOU 5BTL 
 "OBMZUJDT 5BTL 
 "OBMZUJDT "HFOU 
 "OBMZUJDT $IBOHF3JTL 
 "OBMZUJDT
  12. 5BTL.BOBHFNFOU &OHBHF΋͘͠͸"OBMZUJDT w ϦΞϧλΠϜͱΦϯσϚϯυͷ෼ੳͷ༥߹  *ODJEFOU$SFBUJPO "OBMZUJDT ղੳ 'FFE#BDL 


    ϑΟʔυόοΫ 5BTL"TTJHONFOU 5BTL 
 "OBMZUJDT 5BTL 
 "OBMZUJDT "HFOU 
 "OBMZUJDT $IBOHF3JTL 
 "OBMZUJDT 5BTL.BOBHFNFOU Πϯγσϯτ࡞੒͸ɺʮ0CTFSWFʯϑΣʔζ͔Βͷܯࠂ͕*54.γεςϜͰΠϯγσϯτͱͯ͠࡞੒͞ΕΔ͜ͱ͔Β ࢝·Γ·͢ɻҰํɺλεΫׂΓ౰ͯ͸ɺ֤ΤϯδχΞͷར༻ՄೳੑɺٕೳϨϕϧɺಛఆͷλεΫ·ͨ͸Πϯγσϯτ Λղܾ͢ΔͨΊʹඞཁͳٕज़ɺ͓ΑͼطଘͷϫʔΫϩʔυΛߟྀʹೖΕͨࣗಈԽΛ௨ͯ͡ߦΘΕ·͢ɻ "OBMZUJDT λεΫ෼ੳ͸γεςϜ಺ͷ֤λεΫΛ෼ੳ͠ɺϓϩηεͱਓʑͷύϑΥʔϚϯεʹಎ࡯Λఏڙ͠·͢ɻΤʔδΣϯτ ෼ੳ͸ɺਓؒͱࣗಈԽΤʔδΣϯτͷύϑΥʔϚϯεΛ෼ੳ͠·͢ɻมߋ෼ੳ͸ɺΠϯϑϥετϥΫνϟͱΞϓϦέ ʔγϣϯ؀ڥͰൃੜ͢ΔมߋΛ෼ੳ͠·͢ɻϓϩηε෼ੳ͸ɺ*54.ͷ֤ϓϩηεͷ,1*Λಛʹ෼ੳ͠·͢ɻ͜ΕΒ͢ ΂ͯͷσʔλ͸ɺ"*0QT෼ੳΤϯδϯʹϑΟʔυ͞Εɺ౷ܭ෼ੳ͕ߦΘΕɺϓϩηεվળͷ໨తͰ෼ੳ͞Ε·͢ɻ 'FFE#BDL ϏδϡΞϥΠθʔγϣϯ͸ɺσʔλΛཧղ͠ɺܧଓతͳαʔϏεվળͷಓےΛࣔͨ͢ΊʹඞཁͰ͢ɻίϥϘϨʔγϣϯ͸ɺ໰୊Λղܾ͢Δͨ Ίʹ֤εςʔΫϗϧμʔؒͰߦΘΕɺద੾ͳϧʔϧϕʔεͷγεςϜΛ௨ͯ͡ௐ੔͞Ε·͢ɻϑΟʔυόοΫ͸ɺΠϯγσϯτ؅ཧɺมߋ؅ ཧɺαʔϏεϦΫΤετͳͲͷϓϩηεΛ௨ͯ͡ੜ੒͞ΕɺશମతͳϓϩηεվળͷͨΊͷσʔλ෼ੳʹ࢖༻͞Ε·͢ɻ͜ΕΒ͢΂ͯͷཁૉ ͸ɺ*54.ϓϩηεͷҰ෦ͱͯ͠ಇ͖ɺΑΓޮ཰తͰ੒ख़ͨ͠ӡ༻ΛՄೳʹ͠·͢ɻσʔλղੳͱϓϩηεվળʹෆՄܽͳཁૉͰ͢ɻ 7JTVBMJ[BUJPO $PMMBCPSBUJPO
  13. "DU

  14. "VUPNBUJPO "DUʜ࣮ߦͤΑʂʂʂʂ w࣮ߦͱղܾࡦͷࣗಈԽ w "DUྖҬ͸ɺΠϯγσϯτͷղܾɺαʔϏεϦΫΤετͷ਱ߦɺมߋ؅ཧͷௐ੔ͳͲͷ࣮ࡍͷٕ ज़తͳλεΫΛؚΉɻӡ༻νʔϜ͕࣮ߦ͢Δશͯͷٕज़తͳλεΫ͕͜ͷྖҬͰऔΓѻΘΕΔɻ w "*0QT͸"DUྖҬͰ׬ྃ͠ɺ͜͜ͰΠϯγσϯτ͕ղܾ͞ΕɺγεςϜ͕ਖ਼ৗঢ়ଶʹ໭Δɻ w ਓؒͷհೖͳ͠Ͱࣗಈతʹ໰୊Λղܾ͢ΔೳྗΛಘΔͱɺ"*0QTͷརӹ͸େ͖͘૿͑Δɻ

    w "DU͕ػೳ͢ΔͨΊʹ͸ɺ0CTFSWFͷ࣮૷ͱඍௐ੔͕ඞཁɻ w "DU͸&OHBHFͱ0CTFSWFͱ౷߹͞ΕɺͦͷσʔλϑΟʔυʹج͍ٕͮͯज़؀ڥʹର͢Δղ ܾࡦ΍ͦͷଞͷΞΫγϣϯΛऔΔɻ w ໰୊Λࣗಈతʹղܾ͢ΔͨΊʹ͸ɺղܾํ๏ͱΠϯγσϯτ͕ൃੜͨ͠ΠϯϑϥετϥΫνϟΛ ཧղ͢Δඞཁ͕͋Δɻ  "VUPNBUJPO 
 3FDPNNFOEBUJPO 'FFE#BDL 
 ϑΟʔυόοΫ "VUPNBUJPO &YFDVUJPO *54.1SPDFTT &YFDVUJPO "VUPNBUJPO "OBMZUJDT ࣗಈ෼ੳ $IBOHF 
 0SDIFTUSBUJPO 43'VM fi MMNFOU *ODJEFOU3FTPMVUJPO
  15. "VUPNBUJPO "DUʜ࣮ߦͤΑʂʂʂʂ w ࣮ߦͱղܾࡦͷࣗಈԽ  "VUPNBUJPO 
 3FDPNNFOEBUJPO 'FFE#BDL 


    ϑΟʔυόοΫ "VUPNBUJPO &YFDVUJPO *54.1SPDFTT &YFDVUJPO "VUPNBUJPO "OBMZUJDT ࣗಈ෼ੳ $IBOHF 
 0SDIFTUSBUJPO 43'VM fi MMNFOU *ODJEFOU3FTPMVUJPO "VUPNBUJPO ಛఆͷ໰୊Λղܾ͢ΔͨΊͷࣗಈԽΛਪ঑͢Δ͜ͱͰɺ͜Ε͸ϧʔϧϕʔεͷΞϓϩʔν·ͨ͸ػցֶशͷΞϓϩʔ νΛ࢖༻ͯ͠ߦ͏͜ͱ͕Ͱ͖·͢ɻ࣍ʹɺਪ঑͞ΕͨࣗಈԽ͕໰୊Λղܾ͢ΔͨΊʹ࣮ࡍʹ࣮ߦ͞Ε·͢ɻ͜ͷϓϩ ηε͸ɺΠϯγσϯτͷղܾɺαʔϏεϦΫΤετͷ਱ߦɺมߋͷௐ੔ͳͲɺγεςϜΛ࠷దͳঢ়ଶʹอͭखஈ *54.1SPDFTT &YFDVUJPO "*01Tʹ͓͚ΔΠϯγσϯτղܾɺαʔϏεϦΫΤετཤߦɺ͓ΑͼมߋΦʔέετϨʔγϣϯ͸ɺࣗಈԽͱਓؒͷ հೖΛ૊Έ߹Θͤͯޮ཰తͳ*5ΦϖϨʔγϣϯΛ࣮ݱ͢ΔखஈͰ͋Δ "VUPNBUJPO "OBMZUJDT ࣗಈԽͷ࣮ߦεϖʔεʹ͓͍ͯॏཁͳ෼໺ͱͳ͍ͬͯ·͢ɻओʹ&OHBHFϑΣʔζͰؔ࿈ੑ͕͋Δͱ͞Ε͍ͯΔ෼ੳͰ͸͋Γ·͕͢ɺࣗಈԽ ͷ࣮ߦͦͷ΋ͷ΋ɺ૊৫಺ͷࣗಈԽͷύϑΥʔϚϯεධՁ΍վળʹରͯ͠༗ӹͳσʔλΛੜ੒͠·͢ɻ͜ͷσʔλ͸ɺࣗಈԽγεςϜͷਫ਼౓ ͱޮ཰Λ͞Βʹ޲্ͤ͞ΔͨΊɺͦͯࣗ͠ಈԽ͕ݱࡏͲͷΑ͏ʹػೳ͍ͯ͠Δ͔Λใࠂ͠ɺ෼ੳ͢ΔͨΊʹ࢖༻͞Ε·͢ɻ 'FFE#BDL ϏδϡΞϥΠθʔγϣϯ͸ࣗಈԽͷύϑΥʔϚϯεΛࣔ͠ɺίϥϘϨʔγϣϯ͸ϦΞϧλΠϜͰͷҙࢥܾఆΛॿ͚ɺ ϑΟʔυόοΫ͸"*0QTͷਫ਼౓Λվળ͠·͢ɻ͜ΕΒ͸׬શࣗಈԽ΁ͷਐߦΛଅਐ͠·͢ɻ
  16. "*0QTʹ͍ͭͯ 0CTFSWF &/("(& "$5 %BUB*OHFTUJPO σʔλऔΓࠐΈ &WFOU1SPDFTTJOH Πϕϯτॲཧ &WFOU"OBMZUJDT Πϕϯτ෼ੳ

    'FFE#BDL 
 ϑΟʔυόοΫ 5BTL1SPDFTTJOH *ODJEFOU$SFBUJPO "OBMZUJDT 'FFE#BDL 
 ϑΟʔυόοΫ 5BTL"TTJHONFOU 5BTL 
 "OBMZUJDT 5BTL 
 "OBMZUJDT "HFOU 
 "OBMZUJDT $IBOHF3JTL 
 "OBMZUJDT "VUPNBUJPO 
 3FDPNNFOEBUJPO 'FFE#BDL 
 ϑΟʔυόοΫ "VUPNBUJPO &YFDVUJPO *54.1SPDFTT &YFDVUJPO "VUPNBUJPO "OBMZUJDT ࣗಈ෼ੳ "*0QTͷҟͳΔྖҬʢ0CTFSWFɺ&OHBHFɺ"DUʣͱͦͷओཁͳ෼ੳٕज़ʢΠϕϯτ૬ؔɺ༧ଌ෼ ੳɺҟৗݕग़ɺݪҼ෼ੳʣʹ͍ͭͯਂ͘୳Γ·ͨ͠ɻ͜ΕΒ௨ͯ͡,T(15ͱͦͷػೳΛ۩ମతʹཧ ղ͠΍͘͢આ໌͍ͯ͜͠͏ͱࢥ͍·͢ɻ
  17. ,T(15c0CTFSWF .POJUPSJOH w,THQU͸ɺσʔλͷऔΓࠐΈํ๏ΛͦΕͧΕղઆ w LTHQU$-*ͱͯ͠ w LTHQU0QFSBUPSͱͯ͠  LVCFBQJTFSWFS k8sgpt

    CLI %BUB*OHFTUJPO σʔλऔΓࠐΈ &WFOU1SPDFTTJOH Πϕϯτॲཧ &WFOU"OBMZUJDT Πϕϯτ෼ੳ 'FFE#BDL 
 ϑΟʔυόοΫ k8sgpt Operator LVCFBQJTFSWFS ࠓճͷൃදͰ͸ׂѪ ޙ΄Ͳ঺հ
  18. ,T(15$-*c0CTFSWF .POJUPSJOH w,T(15$-* w ,VCFSOFUFT$MVTUFSʹ઀ଓ͢Δඞཁ͕͋Γ·͕͢ 
 ,VCFSOFUFT$MVTUFSͷ෼ੳ͸LTHQUBOBMZ[FίϚϯυͷΈͰ࣮ߦՄೳ  $ kubectl

    apply -f failer.yaml #1 $ k8sgpt analyzeɹ #2 $ kubectl apply -f success.yaml #3 LVCFSOFUFT ޡͬͨઃఆϑΝΠϧΛσϓϩΠ LVCFSOFUFTDMVTUFS෼ੳݪҼͷಛఆ ಛఆ͞ΕͨݪҼΛࢀߟʹमਖ਼ͯ͠࠶౓σϓϩΠ EFGBVMUGBJMFSQPE GBJMFSQPE 
 &SSPS#BDLP ff QVMMJOHJNBHFGBJMFSBCD Ͱͷ෼ੳ݁ՌʹΑΓݪҼΛಛఆ
  19. $VTUPN3FTPVSDFT%FGJOJUJPO $3% w ,VCFSOFUFT"1*ʹಠࣗͷϦιʔεΛఆٛ͢Δҝͷػೳ 
 $3%Ͱఆٛͨ͠Ϧιʔε͸Custom Resources ͱݺ͹ΕΔ w Կ͔ى͖ͨ࣌ɺͲ͏͍͏ঢ়ଶΛऔΓ͏Δ͔ΛఆٛͰ͖Δ

    w ਎ۙͳ΋ͷͰߟ͑Δͱ w $VTUPN3FTPVSDFT%F fi OJUJPO㲈ςʔϒϧ w $VTUPN3FTPVSDFT㲈Ϩίʔυ  CR name : motouchi age : 25 canRead: true CRD name: “Human” ----- (name) age canRead Table: Human name age canRead motouchi 25 true sakai 26 false ػೳ͕ଟ͗ͯ͢ ঺հͰ͖ͳ͍…
  20. w $VTUPN$POUSPMMFST w $VTUPN$POUSPMMFS͸$VTUPN3FTPVSDFΛίϯτϩʔϧ͢ΔͨΊͷએ ݴతͳ"1*Ͱ͢ɻΦϒδΣΫτʹର͢Δ࣮ࡍͷૢ࡞ํ๏΍໋ྩ͸$VTUPN $POUSPMMFS͕ߦ͍·͢ɻ w Կ͕ى͖ͨ࣌ɺͲ͏͍͏ঢ়ଶͳΒ͹ԿΛ͢Δ͔ͱ͍͏෦෼Λ࣮૷Ͱ͖Δ CR Custom

    Resources Desired State 0QFSBUPS㲈$VTUPN$POUSPMMFST $3%  Custom Controller External World Register API Server CRD Custom Resources Definition σϓϩΠ ؂ࢹ ٴͼ ॲஔ ࢀর https://kubernetes.io/docs/concepts/extend-kubernetes/operator/
  21. ,T(150QFSBUPSc0CTFSWF .POJUPSJOH w,T(150QFSBUPS w ,VCFSOFUFT$MVTUFSʹσϓϩΠ͢Δඞཁ͕͋Δ 
 ,VCFSOFUFT$MVTUFSͷ෼ੳ͸σϓϩΠޙʹࣗಈͰߦΘΕΔ  IUUQTEPDTLTHQUBJSFGFSFODFPQFSBUPSPWFSWJFXΑΓҾ༻ LVCFSOFUFT

    $ helm repo add k8sgpt https://charts.k8sgpt.ai/ $ helm repo update $ helm install release k8sgpt/k8sgpt-operator -n k8sgpt-operator-system ,T(150QFSBUPSͷΠϯετʔϧ ΞʔΩςΫνϟਤ K8sGPT Operator
  22. ,T(150QFSBUPS"SDIJUFDUVSF  IUUQTHJUIVCDPNLTHQUBJLTHQUPQFSBUPSCMPCWQLHSFTPVSDFTLTHQUHP- IUUQTEPDTLTHQUBJSFGFSFODFDMJTFSWFNPEF w ,T(15ͱ,T0QFSBUPSͷ࿈ܞʹΑΔӡ༻؅ཧ w ,VCFSOFUFTʢ,Tʣ%FQMPZNFOUʹΑΓɺ,T(15͸4FSWFNPEFͰՔ ಇ͓ͯ͠Γɺͦͷ݁Ռɺ໰͍߹ΘͤͳͲͷجຊతͳಈ࡞͸$-*ʢ$PNNBOE -JOF*OUFSGBDFʣͱಉ͡ʹͳ͍ͬͯ·͢ɻ͜ͷػೳੑ͸ɺϢʔβ͕γεςϜͱ

    ௚઀ର࿩͢ΔͨΊͷϓϥοτϑΥʔϜͱͯ͠໾ཱͪ·͢ɻ w ͔͠͠ɺγεςϜͷޮՌతͳӡ༻؅ཧʹ͸ɺߋʹఆظతͳ؂ࢹͱमਖ਼͕ඞཁͱ ͳΓ·͢ɻ͜Ε͸ɺ,T0QFSBUPS͕୲౰͠·͢ɻ,T0QFSBUPS͸ɺ 3FDPODJMFͱ͍͏ݪཧΛ༻͍ͯγεςϜͷঢ়ଶΛఆظతʹ਍அ͠ɺඞཁͳमਖ਼ ΛՃ͑ͯγεςϜͷ݈શੑΛҡ࣋͠·͢ɻ͜ΕʹΑΓɺϢʔβ͸γεςϜͷύ ϑΥʔϚϯεΛ࠷େݶʹҾ͖ग़͢͜ͱ͕ՄೳʹͳΓ·͢ɻ
  23. ,T(15c&/("(& "OBMZUJDT w,THQU͸ɺσʔλΛऔΓࠐΈํ๏ʹ͍ͭͯͦΕͧΕղઆ w LTHQU$-*ͱͯ͠ w LTHQU0QFSBUPSͱͯ͠  LVCFBQJTFSWFS k8sgpt

    CLI k8sgpt Operator LVCFBQJTFSWFS ࠓճͷൃදͰ͸ׂѪ 5BTL1SPDFTTJOH *ODJEFOU$SFBUJPO "OBMZUJDT 'FFE#BDL 
 ϑΟʔυόοΫ 5BTL"TTJHONFOU 5BTL 
 "OBMZUJDT 5BTL 
 "OBMZUJDT "HFOU 
 "OBMZUJDT $IBOHF3JTL 
 "OBMZUJDT ޙ΄Ͳ঺հ ศ্ٓɺ&/("(&ͷ"OBMZUJDTͱ͍ͯ͠Δ͕
  24. ,T(15$-*c&/("(& "OBMZUJDT w,T(15$-*ͷ෼ੳʹ͍ͭͯ  ॳظԽ/FX"OBMZTJTؔ਺Λ༻͍ͯ"*ϓϩόΠμʔɺ,VCFSOFUFTΫϥΠΞϯτɺ Ωϟογϡ౳ͷॳظઃఆΛߦ͍·͢ɻ  ෼ੳ3VO"OBMZTJTϝιουͰ,VCFSOFUFTΫϥελͷϦιʔεʢ͜͜Ͱ͸ %FQMPZNFOUʣͷঢ়ଶΛ෼ੳ͠ɺ໰୊఺ΛΤϥʔϝοηʔδͱͯ͠ऩू͠·͢ɻ 

    ݁Ռͷղऍ(FU"*3FTVMUTϝιουΛ༻͍ͯ"*͕ΤϥʔϝοηʔδΛղੳ͠ɺਓؒ ͕ཧղ͠΍͍͢ܗͰ݁ՌΛఏڙ͠·͢ɻ  LVCFBQJTFSWFS k8sgpt ᶃ/FX"OBMZTJT ᶄ3VO"OBMZTJT ᶅ(FU"*3FTVMUT IUUQTHJUIVCDPNLTHQUBJLTHQUCMPCNBJOQLHBOBMZTJTBOBMZTJTHP 0QFO"* "[VSF0QFO"* -PDBM"* 'BLF"* ,T(15"*#BDLFOET
  25. ,T(150QFSBUPSc&/("(& "OBMZUJDT w1SPNQU&OHJOFFSJOH(VJEFͱ͸ w νϟοτϘοτͱͷର࿩ͷͨΊͷ໰͍͔͚΍ίϚϯυΛσβΠϯ͢Δํ๏Ͱ͢ɻ͜Ε͸Ϣʔβʔ ͷཁ๬ʹదԠ͠ɺ࠷΋ద੾ͳ݁ՌΛҾ͖ग़ͨ͢ΊͷεΩϧͰ͢ɻ۩ମతʹ͸ɺ"*ͷ੍ݶͱೳྗ Λཧղ͠ɺͦΕʹج͍ͮͯ༗ޮͳϓϩϯϓτΛ࡞੒͢ΔͨΊͷઓུͱςΫχοΫΛఏڙ͠·͢ɻ  ᶄ3VO"OBMZTJT IUUQTHJUIVCDPNLTHQUBJLTHQUCMPCNBJOQLHBJQSPNQUTHP

    ݱࡏ͸σϑΥϧτϓϩϯϓτ͔͠ड͚औΒͳ͍͕QSPNQU5NQMͱએݴ͸͍ͯ͠ΔͷͰকདྷతʹ͸্ॻ͖Ͱ͖ͦ͏ EFGBVMU@QSPNQUA4JNQMJGZUIFGPMMPXJOH,VCFSOFUFTFSSPSNFTTBHFEFMJNJUFECZUSJQMFEBTIFTXSJUUFOJOTMBOHVBHFT  1SPWJEFUIFNPTUQPTTJCMFTPMVUJPOJOBTUFQCZTUFQTUZMFJOOPNPSFUIBODIBSBDUFST8SJUFUIFPVUQVUJOUIFGPMMPXJOHGPSNBU  &SSPS\&YQMBJOFSSPSIFSF^  4PMVUJPO\4UFQCZTUFQTPMVUJPOIFSF^  A EFGBVMU@QSPNQUAҎԼͷ,VCFSOFUFTΤϥʔɾϝοηʔδΛTMBOHVBHFTͰॻ͔ΕͨτϦϓϧɾμογϡͰ۠੾ͬͯ؆ུԽ͍ͯͩ͘͠͞ɻ  ࠷΋Մೳੑͷߴ͍ղܾࡦΛจࣈҎ಺Ͱஈ֊తʹఏڙ͍ͯͩ͘͠͞ɻग़ྗ͸࣍ͷܗࣜͰॻ͍͍ͯͩ͘͞ɿ  Τϥʔɿ\͜͜ʹΤϥʔΛઆ໌^  ղܾࡦɿ\͜͜ʹஈ֊తͳղܾࡦΛهड़^  A ೔ຊޠ༁ ,T(15ͷσϑΥϧτϓϩϯϓτ
  26. ,T(150QFSBUPSc&/("(& "OBMZUJDT w,T(150QFSBUPSͷ෼ੳʹ͍ͭͯ  ॳظԽ/FX"OBMZTJTؔ਺Λ༻͍ͯ"*ϓϩόΠμʔɺ,VCFSOFUFTΫϥΠΞϯτɺ Ωϟογϡ౳ͷॳظઃఆΛߦ͍·͢ɻ  ෼ੳ3VO"OBMZTJTϝιουͰ,VCFSOFUFTΫϥελͷϦιʔεʢ͜͜Ͱ͸ %FQMPZNFOUʣͷঢ়ଶΛ෼ੳ͠ɺ໰୊఺ΛΤϥʔϝοηʔδͱͯ͠ऩू͠·͢ɻ 

    ݁Ռͷղऍ(FU"*3FTVMUTϝιουΛ༻͍ͯ"*͕ΤϥʔϝοηʔδΛղੳ͠ɺਓؒ ͕ཧղ͠΍͍͢ܗͰ݁ՌΛఏڙ͠·͢ɻ  IUUQTHJUIVCDPNLTHQUBJLTHQUCMPCNBJOQLHBOBMZTJTBOBMZTJTHP 0QFO"* "[VSF0QFO"* -PDBM"* 'BLF"* ,T(15"*#BDLFOET LVCFBQJTFSWFS ᶃ/FX"OBMZTJT ᶄ3VO"OBMZTJT ᶅ(FU"*3FTVMUT ͜͜΋$-*ͱڞ௨Խ͞Ε͍ͯΔ 
 ͭ·ΓɺಘΒΕΔ݁Ռ͸ಉ͡ K8sGPT Operator K8sGPT deployment
  27. ,T(15c"$5 "VUPNBUJPO w,THQU͸ɺࣗಈԽͷऔΓ૊Έʹ͍ͭͯͦΕͧΕղઆ w LTHQU$-*ͱͯ͠ w LTHQU0QFSBUPSͱͯ͠  "VUPNBUJPO 


    3FDPNNFOEBUJPO 'FFE#BDL 
 ϑΟʔυόοΫ "VUPNBUJPO &YFDVUJPO *54.1SPDFTT &YFDVUJPO "VUPNBUJPO "OBMZUJDT ࣗಈ෼ੳ LVCFBQJTFSWFS k8sgpt CLI k8sgpt Operator LVCFBQJTFSWFS ࠓճͷൃදͰ͸ׂѪ ޙ΄Ͳ঺հ
  28. ,T(15c"$5 "VUPNBUJPO wେن໛ݴޠϞσϧ͸ݬ֮ΛݟΔ w େن໛ͳݴޠϞσϧ͸ɺҰݟͯ͠க໋తͱ΋͍͑Δ໰୊Λ๊͍͑ͯ ·͢ɻͦΕ͸ɺ࣮ࡏ͠ͳ͍৘ใΛੜΈग़͢͜ͱ͕͋Δͱ͍͏͜ͱͰ ͢ɻઐ໳Ոͨͪ͸͜ͷݱ৅Λʮݬ֮ʢIBMMVDJOBUJPOʣʯͱݺΜͰ ͍·͢ɻਓ͕ؒݬ֮ΛݟΔΑ͏ʹɺଘࡏ͠ͳ͍΋ͷΛݱ࣮ͷ΋ͷͷ Α͏ʹඳ͖ग़͢͜ͱ͔Βɺ͜ͷ໊લ໊͕෇͚ΒΕ·ͨ͠ɻ͞Βʹਂ ࠁͳͷ͸ɺ͜ΕΒͷݬ֮ʹΑͬͯੜ੒͞Εͨෆਖ਼֬ͳ৘ใ͕ɺઐ໳

    Ո΍Ұൠͷਓʑʹͱͬͯ΋ฆΒΘ͘͠ɺਅ࣮ͱݟ෼͚͕͔ͭͳ͍͜ ͱ͕͋Δͱ͍͏ࣄ࣮Ͱ͢ɻ w࣮ߦೳྗͷܽ೗ w 3FDPODJMJBUJPO-PPQ͸ɺ,VCFSOFUFTͷίϯτϩʔϥ͕ظ଴͢ Δঢ়ଶͱ࣮ࡍͷঢ়ଶͱͷؒͷࠩҟΛܧଓతʹνΣοΫ͠ɺඞཁʹԠ ͯ͡मਖ਼Λߦ͏͜ͱͰγεςϜΛ҆ఆͨ͠ঢ়ଶʹอͭͨΊͷϓϩη εͰ͢ɻ͔͠͠ɺେن໛ݴޠϞσϧΛར༻ͨ͠,T(15͸ݬ֮Λ࣮ ߦͯ͠͠·͏Մೳੑ͕͋ΔͨΊ&YFDVUJPOػೳ͕͋Γ·ͤΜɻ͜Ε ʹΑΓɺγεςϜ͕ҙਤ͠ͳ͍ঢ়ଶʹͳͬͨ৔߹ɺ,T(15͸ࣗಈ తʹ෮چ͢Δ͜ͱ͸Ͱ͖·ͤΜɻ  IUUQTXXXJXBOBNJDPKQCPPLCIUNM େن໛ݴޠϞσϧ͸৽ͨͳ஌ೳ͔ "VUPNBUJPO 
 3FDPNNFOEBUJPO "VUPNBUJPO &YFDVUJPO 'VODUJPO$BMMʹظ଴͕ߴ·Δ֎෦"1*΍ؔ਺ΛݺͿ΂͖͔ݺ͹ͳ͍͔Λ(15ଆʹ൑அͤ͞ΒΕΔ͜ͱ 
 ಉ༷ͷػೳͱͯ͠*OUFHSBUJPO͕͋ΔͷͰͪ͜Β΋ָ͠Έʹ͍ͯ͠Δ
  29. ಓ۩ͱͯ͠ͷେن໛ݴޠϞσϧ wඞཁͳڑ཭ײ w ৘ใ͕ඞཁͳͱ͖ɺ·ͣ͸ͦͷಉ྅ʹ࿩Λฉ͘͜ͱ͔Β࢝Ί·͢ɻ൴͸ੈքͷ৘ใʹਫ਼௨͓ͯ͠Γɺ޿ൣͰਂ͍஌ࣝΛ࣋ͬͯ ͍ΔͷͰɺͲΜͳ࿩୊Ͱ΋औΓ૊Ή͜ͱ͕Ͱ͖·͢ɻ͔͠͠ͳ͕Βɺ࣌ંେ͖ͳޡղΛੜ͡Δ͜ͱ΋͋Γ·͢ɻ w৘ใͷධՁͱݕূ w ͦͷಉ྅͕ѱҙΛ͍࣋ͬͯΔΘ͚Ͱ͸ͳ͍ͷ͸ཧղ͍ͯ͠·͕͢ɺ൴ͷ࿩͢͜ͱΛӏವΈʹ͢ΔͷͰ͸ͳ͘ɺҰఆͷڑ཭Λอ ͪͳ͕Βɺͦͷ৘ใΛѻ͏ඞཁ͕͋Γ·͢ɻͦͯ͠ɺ൴ͷ࿩ͨ͠৘ใΛجʹɺߋʹଟ͘ͷূڌΛूΊͯ৘ใͷݕূΛߦ͏͜ͱ ͕ॏཁͰ͢ɻ

    w,T(15͸ϑΟʔυόοΫ͕Ͱ͖ͳ͍ w ,T(15͕ݱঢ়Ͱ͸ʮϑΟʔυόοΫʯΛߦ͏ػೳΛ͍࣋ͬͯ·ͤΜɻ۩ମతʹݴ͏ͱɺ,T(15͸ࢦఆͨ͠໰͍ʹର͢Δ৘ ใΛੜ੒͠ɺͦΕʹجͮ͘࠷దͳߦಈΛఏҊ͢Δ͜ͱ͕Ͱ͖·͕͢ɺͦΕ͸Ұํ௨ߦͷϓϩηεͰ͋ΓɺϢʔβʔ͔Βͷ۩ମ తͳϑΟʔυόοΫΛֶश͢Δػೳ͸͋Γ·ͤΜɻͭ·ΓɺϢʔβʔ͕,T(15ͷఏҊʹରͯ͠ʮ͜Ε͸໾ཱͬͨʯʮ͜Ε͸ ໾ʹཱͨͳ͔ͬͨʯͱ͍ͬͨϑΟʔυόοΫΛ༩͑ͨͱͯ͠΋ɺͦΕΛऔΓೖΕͯࣗݾվળ͢Δػೳ͸ଘࡏ͠·ͤΜɻ  LVCFBQJTFSWFS ઐ໳஌ࣝ ௕೥ͷצ ݸੑతͳಉ྅ͱ͍͏දݱ͸ͬ͘͠Γ͘Δ͚Ͳඍົͦ͏ʜࢦఠ͕ೖͬͨΒ΍ΊΔ ݬ֮
  30. ࢀߟࢿྉ wެࣜϖʔδc,T(15 w IUUQTLTHQUBJ w(JU)VCc,T(15 w IUUQTHJUIVCDPNLTHQUBJLTHQU w(JU)VCc,T(150QFSBUPS w IUUQTHJUIVCDPNLTHQUBJLTHQUPQFSBUPS

    w%PDTc,T(15 w IUUQTEPDTLTHQUBJ w0QFSBUPSQBUUFSO w IUUQTLVCFSOFUFTJPEPDTDPODFQUTFYUFOELVCFSOFUFTPQFSBUPS w,T(150QFSBUPS w IUUQTEPDTLTHQUBJSFGFSFODFPQFSBUPSPWFSWJFX w)PXUP(FU4UBSUFE8JUI"*0QT w IUUQTXXXHBSUOFSDPNTNBSUFSXJUIHBSUOFSIPXUPHFUTUBSUFEXJUIBJPQT w1SPNQU&OHJOFFSJOH(VJEF w IUUQTXXXQSPNQUJOHHVJEFBJ wΦϒβʔόϏϦςΟɾΤϯδχΞϦϯά w IUUQTXXXPSFJMMZDPKQCPPLT w,VCFSOFUFTج൫Λࣗ཯తʹࢧ͑Δ$POUSPMMFSԽͷ࣮૷5JQTGPSLXFMMBNTZLT w IUUQTTQFBLFSEFDLDPNNBTBZBBPZBNBGPSLXFMMBNTZLT 
  31. ࢀߟࢿྉ w"VUPNBUJPOBOE.BDIJOF-FBSOJOHXJUI4JUF3FMJBCJMJUZ&OHJOFFSJOH w IUUQTFWFOUTESVQBMPSHWJFOOBTFTTJPOTJOUFMMJHFOUBVUPNBUJPOBOENBDIJOFMFBSOJOHTJUFSFMJBCJMJUZFOHJOFFSJOH w5&.1-&4JY1JMMBSTPG0CTFSWBCJMJUZ w IUUQTNFEJVNDPN!:VSJ4ILVSPUFNQMFTJYQJMMBSTPGPCTFSWBCJMJUZBDFEFC w"*࣌୅ʹ޲͚ͨΫϥ΢υʹ͓͚Δ৴པੑΤϯδχΞϦϯάͷະདྷߏ૝%*$0.0" w IUUQTTQFBLFSEFDLDPNZVVLJUEJDPNPB

    wେن໛ݴޠϞσϧ͸৽ͨͳ஌ೳ͔ʕʕ$IBU(15͕ม͑ͨੈք ؠ೾ՊֶϥΠϒϥϦʔ  w IUUQTBN[OUP0$U'; w$IBU(15ͷ಄ͷத ϋϠΧϫ৽ॻ  w IUUQTBN[OUP,N'#48 wݴޠͷຊ࣭ɹ͜ͱ͹͸Ͳ͏ੜ·ΕɺਐԽ͔ͨ͠ w IUUQTBN[OUP/R*2H w"*WTڭՊॻ͕ಡΊͳ͍ࢠͲ΋ͨͪ w IUUQTBN[OUP8YW( wʲ*5*-ެೝʳ*5*-ͷجຊਤղͱ࣮ફ w IUUQTBN[OUP&"B/