Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
Search
YuyaKoda
PRO
November 05, 2021
Technology
0
520
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
CloudNativeDays Tokyo 2021
https://event.cloudnativedays.jp/cndt2021/
YuyaKoda
PRO
November 05, 2021
Tweet
Share
More Decks by YuyaKoda
See All by YuyaKoda
Kubernetes だけじゃない!Amazon ECS で実現するクラウドネイティブな GitHub Actions セルフホストランナー / CNDW2024
ponkio_o
PRO
6
560
Renovate ではじめる運用レスなライブラリ更新 / 令和最新版 他人に自慢したいヤバいCI/CD LT会 @ yabaibuki.dev #2
ponkio_o
PRO
1
230
Amazon ECS で作るスケーラブルなセルフホストランナー / GitHub Actions Meetup Tokyo #4
ponkio_o
PRO
2
790
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
43
18k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
3
1.1k
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
520
NGINX Ingress Controller を活用した Retty のサービス開発とモニタリング / NGINX ユーザー会 2022 春
ponkio_o
PRO
0
200
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
4.4k
Terraform における秘匿情報管理 / Credentials management in Terraform
ponkio_o
PRO
0
370
Other Decks in Technology
See All in Technology
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
5
6.9k
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.9k
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
140
月間180PBのストリーム処理されたイベントデータを使用した, KARTEのリアルタイムインタラクションマネジメント
plaidtech
PRO
0
120
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
1.2k
LangGraph × Bedrock による複数の Agentic Workflow を利用した Supervisor 型のマルチエージェントの実現/langgraph-bedrock-supervisor-agent
ren8k
2
170
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.8k
エンジニアのキャリアパスと、 その中で自分が大切にしていること
noteinc
3
2.4k
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
840
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
3
230
ライフステージの変化を乗り越える 探索型のキャリア選択
tenshoku_draft
2
320
完璧を捨てろ! “攻め”のQAがもたらすスピードと革新/20250306 Hiroki Hachisuka
shift_evolve
0
150
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Docker and Python
trallard
44
3.3k
Visualization
eitanlees
146
15k
Bash Introduction
62gerente
611
210k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Optimizing for Happiness
mojombo
377
70k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Transcript
Amazon EKS Λ׆༻ͨ͠ݸਓ։ൃڥ ͷඋͱࣗಈԽͷऔΓΈ Rettyגࣜձࣾ Yuya Koda 2021/11/05
ࣗݾհ IUUQTVTFSSFUUZNF ໊લ ా༏࠸ ͜͏ͩΏ͏ ͓ࣄ ΠϯϑϥΤϯδχΞ ͖ͳ͓ళ 4"70:ຑे൪ళ
5XJUUFS !QPOLJP@P
͋ͳͨʹBESTͳ ͓ళ͕ݟ͔ͭΔ
ΞδΣϯμ • ։ൃڥͷ֓ཁ ◦ ͳΓͨͪγεςϜߏ • ։ൃڥʹ͓͚Δ༷ʑͳ׆༻ࣄྫ ◦ &$4QPU*OTUBODFΛ׆༻ͨ͠ίετݮࣄྫ ◦
,VCFSOFUFTͱ5FSSBGPSNͷϦιʔεཧʹ͍ͭͯ ◦ ෳͷ*OHSFTT$POUSPMMFSͷΈ߹Θͤ ◦ "OTJCMFLT.PEVMFΛͬͨϦιʔεཧ • ։ൃ༻%#ӡ༻ࣗಈԽʹ͍ͭͯ ◦ "844UFQ'VODUJPOTΛ༻ͨ͠ϫʔΫϑϩʔ
ࣾ։ൃڥͷͳΓͨͪ
ࣾ։ൃڥͷͳΓͨͪ • ΞϓϦέʔγϣϯຊମ ݹΊͷ1)1 • ෳͷ3FEJT • ෳͷ.Z42- •
ෳͷػೳΛ࣋ͬͨ"1*αʔό • ผΞϓϦέʔγϣϯͷ༧γεςϜ 3FUUZΛ։ൃ͢ΔͨΊʹෳͷγεςϜ͕ඞཁ ͜ΕΒͯ͢ΛϩʔΧϧڥʹ༻ҙ͢Δͷେมʜ
ࣾ։ൃڥͷͳΓͨͪ • ͷαʔόΛ༻ҙ͠ɺͦ͜ʹ44)ͯ͠։ൃ͢ΔελΠϧ ◦ 1)1ͳͲඞཁͳͷͯ͢ଗ͍ͬͯΔ ϩʔΧϧͰෆཁ ◦ ڥߏஙෆཁͰ44)ϩάΠϯͯ͠HJUDMPOF͢ΔͷΈ ◦
ϨϯλϧαʔόͷΑ͏ͳΠϝʔδ • Ͱ͖ͨॳࣾͷ,VCFSOFUFTΫϥελ W͘Β͍ Ͱಈ͍͍ͯͯɺ (,&ʹҠߦͨ͠ޙɺݱࡏ&,4ͰՔಇத ͦ͜Ͱ࡞ΒΕͨͷ͕ࣾ։ൃڥ
ࣾ։ൃڥͷߏ
ࣾ։ൃڥͷߏ /'4 TTITFSWFS 1PE 1)1"QQ 4FSWJDF UZQF-PBE#BMBODFS *OHSFTT 44)ϩάΠϯͯ͠ίʔυΛฤू ˞ϗετ໊ͳͲͯ͢Սۭͷͷ
7PMVNF .PVOU IPNF\VTFS^SFUUZJOEFYQIQ ϢʔβYαʔϏεຖʹ࡞͞ΕΔϦιʔε 4FSWJDF WBSXXXIUNMJOEFYQIQ TTITFSWFSͰฤूͨ͠ίʔυΛ7PMVNF.PVOU IUUQT\VTFS^TFSWJDFGPPSFUUZNF ͷΑ͏ͳ63-ʹΞΫηεͯ֬͠ೝ
ͳͥ,VCFSOFUFTʁ • ઃఆΛ:".-ϑΝΠϧͰཧͰ͖Δͷศར ◦ ʮجຊతʹಉ͡ઃఆͰϢʔβ໊ͷՕॴͷΈҟͳΔʯͳͲ͕ଟ͋͘Δ ͨΊɺςϯϓϨʔτԽ͍͍ͯ͢͠ ◦ ͲͪΒ͔ͱ͍͏ͱ*B$ͷྑ͞తͳʹ͍ۙ • ๛ͳΤίγεςϜΛ׆༻Ͱ͖Δ
◦ "84ͷαʔϏεͰΓͳ͍෦Λิ͏͜ͱ͕Ͱ͖Δ ◦ ྫ͑"-#ͷෆ෦Λ/(*/9*OHSFTT$POUSPMMFSͰิ͏ͳͲ ʮ͕ࣗೖࣾ͢Δલ͔Βطʹ,VCFSOFUFTͰಈ͍͍͔ͯͨΒʜʯͱ͍͏ͷ ͋Γ·͕͢ɺӡ༻ͯ͠Έͯಘͨؾ͖ͮΛ͍͔ͭ͘
&$4QPU*OTUBODFͰେ෯ͳίετݮ
&$4QPU*OTUBODFͷ֓ཁ • "84্Ͱ༻͞Ε͍ͯͳ͍ΩϟύγςΟΛ֨҆Ͱ༻Ͱ͖Δ&$Π ϯελϯεͷങ͍ํͷͭ ◦ Ձۭ͖֨ͷΩϟύγςΟʹΑΓมಈ͋Γ ◦ "84ͷΩϟύγςΟ͕ෆ͖ͯͨ͠Βऴྃ͞ΕΔ ▪ ͨͩ͠લʹ௨Λड͚औΔ͜ͱ͕Ͱ͖Δ
• 3*41ΑΓίετޮՌ͕ߴ͍ ࠷େׂҾ
ίετͱ&$4QPU*OTUBODF • ར༻ऀׂ͕ͱมಈ͢ΔͨΊ༧ΊΛ֬ఆ͠ʹ͔ͬͨ͘ • ։ൃڥͳͷͰதஅʹΑΔΤϥʔ͕ग़ͨͱͯ͠ΫϦςΟΧϧͳͰͳ͍ ◦ ࠷ѱӨڹ͕ग़͔ͯΒΦϯσϚϯυΛ͢ͳͲͷରԠ͕ڐ༰͞ΕΔ • ॊೈʹαΠζΠϯελϯελΠϓΛม͑Δ͜ͱ͕Ͱ͖Δ ◦
3FTFSWFE*OTUBODFͷ߹੍͕͋ΔͨΊ શࣾతʹར༻͞ΕΔΑ͏ʹͳΓɺͩΜͩΜͱίετ͕՝ʹʜ ԼهͷΑ͏ͳཧ༝͔Β&$4QPU*OTUBODFΛ࠾༻͢Δ͜ͱʹ͠·ͨ͠ɻ
ΦϯσϚϯυΠϯελϯεͱͷΈ߹Θͤ தஅ͕ڐ༰͞Εͳ͍ϫʔΫϩʔυʹΦϯσϚϯυΠϯελϯεΛར༻ • TTITFSWFSৗʹ୭͔͕ଓ͍ͯ͠ΔͷͳͷͰɺجຊతʹ్தͰऴྃ͞Ε ͯཉ͘͠ͳ͍ͱ͍͏ࣄ͕͋ͬͨ • ,VCFSOFUFTͷ/PEF"GGJOJUZ ˞ ͰεέδϡʔϦϯάઌΛࢦఆͨ͠ ˞"TTJHO1PETUP/PEFTVTJOH/PEF"GGJOJUZIUUQTLVCFSOFUFTJPKBEPDTUBTLTDPOGJHVSFQPEDPOUBJOFSBTTJHOQPETOPEFTVTJOHOPEFBGGJOJUZ
BXTOPEFUFSNJOBUJPOIBOEMFS BXTOPEFUFSNJOBUJPOIBOEMFSͱʁ🤔 • 4QPUऴྃ࣌ʹLVCFDUMESBJO૬ͷॲཧΛߦͬͯ͘ΕΔ%BFNPO4FU • *OUFSSVQUJPO௨Λड͚ͯ(SBDFGVM4IVUEPXOΛ࣮ݱ͢ΔͨΊʹҎલ·Ͱ ඞཁͩͬͨ IUUQTHJUIVCDPNBXTBXTOPEFUFSNJOBUJPOIBOEMFS
BXTOPEFUFSNJOBUJPOIBOEMFS BXTOPEFUFSNJOBUJPOIBOEMFSͱʁ🤔 • &$4QPU*OTUBODF͕ऴྃ͢Δࡍʹରͷϊʔυ্Ͱಈ͘1PEΛ(SBDFGVM 4IVUEPXOͤ͞ΔͨΊͷ%BFNPO4FU • LVCFDUMESBJO૬ͷॲཧΛߦͬͯ͘ΕΔ IUUQTHJUIVCDPNBOTJCMFDPMMFDUJPOTDPNNVOJUZLVCFSOFUFT
./(ʹ&$4QPU*OTUBODF͕ରԠ ݄ʹ.BOBHFE/PEF(SPVQͰ&$4QPU*OTUBODF͕ରԠ ͞Εͨ🎉 • BXTOPEFUFSNJOBUJPOIBOEMFS͕ෆཁʹ✨ ◦ ./(୯ମͰLVCFDUMESBJO૬ͷॲཧΛߦͬͯ͘ΕΔΑ͏ʹͳͬͨ • &$JOTUBODFSFCBMBODFSFDPNNFOEBUJPOT👀
◦ ऴྃͷલʹ௨͞ΕΔJOUFSSVQUJPO௨ΑΓઌʹ௨͞ΕΔͷ Ͱʮதஅͷةݥੑ͕ߴ·ͬͨ࣌ʯʹ௨͞ΕΔ ◦ ༨༟ͷ͋Δ͏ͪʹ৽͍͠ΠϯελϯεΛ্ཱͪ͛ͯΠΠײ͡ʹϦόϥϯγ ϯάͯ͘͠ΕΔ ˞ ˞&$JOTUBODFSFCBMBODFSFDPNNFOEBUJPOTIUUQTEPDTBXTBNB[PODPN"84&$MBUFTU6TFS(VJEFSFCBMBODFSFDPNNFOEBUJPOTIUNM
&$4QPU*OTUBODFͷ·ͱΊ • Ͳ͏ͯ͠தஅͰ͖ͳ͍ϫʔΫϩʔυʹΦϯσϚϯυΠϯελϯε ◦ ͑Δͱ͜ΖεϙοτΛ͏ ։ൃڥͰׂ͕εϙοτ • ඞͣෳΠϯελϯελΠϓΛࢦఆ͢Δ͜ͱ ◦
&$ͷࡏݿΕΛͳΔ͙ͨ͘Ί ◦ ͪͳΈʹฐࣾछྨͰӡ༻͍ͯ͠·͕͢Ҏ্େ͖ͳͳ͠ • ΦϯσϚϯυͱൺֱͯ͠&$Πϯελϯεʹ͔͔ΔίετΛׂ΄Ͳݮ Ͱ͖ͨ💰
5FSSBGPSNͱ,VCFSOFUFTͲͪΒͰཧ͢Δ͔ʁ
5FSSBGPSNͱ,VCFSOFUFT ࠓ·Ͱ*OHSFTTϦιʔε4FSWJDF UZQF-PBE#BMBODFS Λ࡞͢Δͱɺ ,VCFSOFUFTͷϥΠϑαΠΫϧʹඥ͍ͨ&-#͕࡞͞Ε͍ͯͨ ,VCFSOFUFT 5FSSBGPSN -JTUFS3VMF 5BSHFU(SPVQ "QQMJDBUJPO-PBE#BMBODFS
4FSWJDF 1PE 4FDVSJUZ (SPVQ 3PVUF "-#*OHSFTT$POUSPMMFSΛ༻ͯ͠*OHSFTTΛ࡞ͨ࣌͠ͷϦιʔεͷཧ "$.
5FSSBGPSNͱ,VCFSOFUFT ,VCFSOFUFTͷϥΠϑαΠΫϧʹඥͮ͘ͱԿ͕͔ʁ • Ϋϥελ֎ͷͷ5FSSBGPSNͰཧ͍ͨ͠ ◦ 71$3%4ͳͲ"84ϦιʔεͷཧΛ5FSSBGPSNʹد͍ͤͯΔͨΊ ◦ Ұํ,VCFSOFUFTͷϦιʔε,VCFSOFUFTϚχϑΣετͰཧ͍ͨ͠ • ۩ମతʹ"-#ͷઃఆ5FSSBGPSNͰཧ͍ͨ͠
◦ 5FSSBGPSNͰ࡞ͬͨ"$.ͷূ໌ॻΛ͍͍ͨ ▪ ΞλονͰ͖Δ͚Ͳূ໌ॻͷ࡞5FSSBGPSNͰΔͷͰʜ ◦ 5FSSBGPSNͰ࡞ͬͨ4(Λ͍͍ͨ ▪ ΞλονͰ͖Δ͚Ͳ4(ͷ࡞5FSSBGPSNͰΔͷͰʜ
"84-PBE#BMBODFS$POUSPMMFS IUUQTHJUIVCDPNLVCFSOFUFTTJHTBXTMPBECBMBODFSDPOUSPMMFS • ݩʑ"84"-#*OHSFTT$POUSPMMFSͩͬͨͷ • "-#ͱ/-#ͲͪΒͭͷίϯτϩʔϥʔͰཧՄೳ • ৽͍͠$VTUPN3FTPVSDFͰ͋Δ5BSHFU(SPVQ#JOEJOH͕Ճ "84-PBE#BMBODFS$POUSPMMFSͱʁ🤔
5BSHFU(SPVQ#JOEJOH 5BSHFU(SPVQ#JOEJOHͱʁ🤔 • ࠓ·Ͱ,VCFSOFUFTଆͰඞཁͳϦιʔε͕શͯ࡞͞Ε͍ͯͨ ◦ "-#5BSHFU(SPVQ-JTUFS3VMF ◦ ͦͷͨΊ্هϦιʔεͷཧ͕,VCFSOFUFTʹඥ͍͍ͯͨ • 5BSHFU(SPVQ#JOEJOH5(ͱ4FSWJDFΛඥ͚ΔͨΊͷػೳ
◦ 㲈5FSSBGPSNͳͲͰ࡞ͨ͠5BSHFU(SPVQΛࢦఆ͢Δ͜ͱͰ ,VCFSOFUFTଆʹϥΠϑαΠΫϧ͕ඥ͚ͮΔඞཁ͕ͳ͘ͳΔ
"84-PBE#BMBODFS$POUSPMMFS ԼهͷΑ͏ʹΫϥελ֎ͷϦιʔε5FSSBGPSNͰ࡞Ͱ͖Δ Kubernetes Terraform -JTUFS3VMF 5BSHFU(SPVQ "QQMJDBUJPO-PBE#BMBODFS 5BSHFU(SPVQ#JOEJOH 4FSWJDF 1PE
-JTUFS3VMF 5BSHFU(SPVQ 4FSWJDF 1PE ˞5BSHFU5ZQF͕JQͷ߹ʹ5(͔Β1PEͷ*1ΞυϨε͕ࢦఆ͞ΕΔ 4FDVSJUZ (SPVQ 3PVUF 5BSHFU(SPVQ#JOEJOH3FTPVSDFΛ༻ͨ͠Ϧιʔεͷཧ "$. πʔϧͷཧରͷڥք͕͔Γ͘͢ͳͬͨ👍
"84-PBE#BMBODFS$POUSPMMFSͷ·ͱΊ • 5BSHFU(SPVQ#JOEJOH3FTPVSDFͰ5FSSBGPSNͱ,VCFSOFUFTͷڥք Λ໌֬ʹ ◦ ࠓճͷΑ͏ͳߏͰӡ༻͍ͯ͠Δ߹ʹͱͯศར • "84"-#*OHSFTT$POUSPMMFS͔ΒͷϚΠάϨʔγϣϯ؆୯ ◦ WҎ্ޙํޓੑ͕อͨΕ͍ͯΔͷͰεϜʔζʹϚΠάϨʔ
γϣϯՄೳ ◦ ͨͩ͠Ұ෦੍͕͋ΔͨΊυΩϡϝϯτཁ֬ೝ
*OHSFTT$POUSPMMFSͷΈ߹Θͤ
"-#Ͱ՝ʹͳͬͨͱ͜Ζ BXTMPBECBMBODFSDPOUSPMMFSʹΑΓΠΠײ͡ʹϦιʔεΛཧͰ͖ΔΑ͏ʹ ͳΓ·͕ͨ͠ɺ"-# *OHSFTT ͚ͩͰগ͠ෆ҆ͳ෦͕͋Γ·ͨ͠ /'4 TTITFSWFS 1PE 1)1"QQ 4FSWJDF
UZQF-PBE#BMBODFS *OHSFTT 44)ϩάΠϯͯ͠ίʔυΛฤू 7PMVNF.PVOU IPNF\VTFS^SFUUZJOEFYQIQ ϢʔβYαʔϏεຖʹ࡞͞ΕΔϦιʔε 4FSWJDF WBSXXXIUNMJOEFYQIQ TTITFSWFSͰฤूͨ͠ίʔυΛ7PMVNF.PVOU IUUQTEFW\VTFS^TFSWJDFSFUUZNF ͷΑ͏ͳ63-ʹΞΫηεͯ֬͠ೝ
"-#Ͱ՝ʹͳͬͨͱ͜Ζ BXTMPBECBMBODFSDPOUSPMMFSʹΑΓΠΠײ͡ʹϦιʔεΛཧͰ͖ΔΑ͏ʹ ͳΓ·͕ͨ͠ɺ"-# *OHSFTT ͚ͩͰগ͠ෆ҆ͳ෦͕͋Γ·ͨ͠ /'4 TTITFSWFS 1PE 1)1"QQ 4FSWJDF
UZQF-PBE#BMBODFS *OHSFTT 44)ϩάΠϯͯ͠ίʔυΛฤू 7PMVNF.PVOU IPNF\VTFS^SFUUZJOEFYQIQ ϢʔβYαʔϏεຖʹ࡞͞ΕΔϦιʔε 4FSWJDF WBSXXXIUNMJOEFYQIQ TTITFSWFSͰฤूͨ͠ίʔυΛ7PMVNF.PVOU IUUQTEFW\VTFS^TFSWJDFSFUUZNF ͷΑ͏ͳ63-ʹΞΫηεͯ֬͠ೝ
"-#Ͱ՝ʹͳͬͨͱ͜Ζ ։ൃऀͦΕͧΕԼهͷΑ͏ͳܗࣜͰಠཱͨ͠ڥΛ͓࣋ͬͯΓɺϗετ໊ ͰόοΫΤϯυΛৼΓ͚͍ͯ·͢ɻ IUUQT\VTFS^\TFSWJDF^GPPSFUUZNF ˞ܗࣜࣅ͍ͯ·্͕͢هͷϗετ໊Սۭͷͷ ։ൃऀ αʔϏε "-#ʹొͰ͖Δϧʔϧͷ্ݶ EFGBVMU ͩͱΓͳ͘ͳΓͦ͏ʜ
LVCFSOFUFTJOHSFTT /(*/9 ˞ϗετ໊Սۭͷͷ Kubernetes 1PE BMJDFSFUUZ *OHSFTT BMJDFSFUUZ 4FSWJDF BMJDFSFUUZ
1PE OHJOYJOHSFTT 1PE CPCSFUUZ *OHSFTT CPCSFUUZ 4FSWJDF CPCSFUUZ BMJDFSFUUZGPPSFUUZNF CPCSFUUZGPPSFUUZNF "QQMJDBUJPO -PBE#BMBODFS GPPSFUUZNF Ұ୴ͯ͢ͷϦΫΤετΛ"-#Ͱड͚ͯͦͷ··/(*/9ʹྲྀ͠ɺ࣮ࡍͷ ϗετϕʔεͷϧʔςΟϯά/(*/9ଆͰߦ͏ "-#Λ׆༻ͭͭ͠"-#ͷ੍Λճආ͢Δ͜ͱ͕Ͱ͖ͨ👍 "$. 44-5FSNJOBUJPO
LVCFSOFUFTJOHSFTT /(*/9 ͷ·ͱΊ • ػೳ͕Γͳ͍࣌ෳͷ*OHSFTT$POUSPMMFSΛΈ߹Θͤͯྑ͍ͱ͜ औΓ͢ΔબࢶΞϦ ◦ *OHSFTT$POUSPMMFSʹΑͬͯͦΕͧΕ͑Δػೳ͕ҟͳΔͷͰཁ݅ ʹ߹Θͳ͍έʔεෳ͏બࢶ ▪
,VCFSOFUFT*OHSFTT$POUSPMMFST4QSFBE4IFFUT ◦ ,VCFSOFUFT্Ͱ*OHSFTT$MBTT ˞ Λ༻͍͚ͯ͠Մೳ • ͨͩ͠વཧ͢Δର͕૿͑ΔͨΊͦͷҙ ˞*OHSFTTDMBTTIUUQTLVCFSOFUFTJPEPDTDPODFQUTTFSWJDFTOFUXPSLJOHJOHSFTTJOHSFTTDMBTT
ར༻ऀ૿Ճʹ͏ϢʔβཧͷࡶԽ
ϢʔβՃ࡞ۀ ৽͘͠։ൃڥ Ϣʔβ ΛՃ͢Δ࣌ͷखॱ͜Μͳײ͡Ͱͨ͠ ͓खͷ3VCZεΫϦϓτͰ:".-ϑΝΠϧΛੜ͠BQQMZ B Ұ෦ͷΛग़͚͠ΔͨΊʹઃఆ༻ͷKTPOϑΝΠϧΛ৯Θ͍ͤͯͨ C ʮಛఆͷ݅Ͱ͜ͷΛग़͢ʯͳͲগ͠ෳࡶͳॲཧ͕͋ͬͨ
44)αʔό্Ͱ͓खͷDSFBUF@VTFSTIΛ༻ͯ͠44)ϢʔβΛՃ શ෦୲ऀ͕ϩʔΧϧڥͰख࡞ۀ😇 ϛεى͜Δ͠ϨϏϡʔͰ͖ͳ͍ͷͰͳΜͱ͔͍ͨ͠ʜ
"OTJCMFLTNPEVMF Ansible k8s module ͱʁ🤔 • ,VCFSOFUFT্ͷϦιʔεΛཧ͢ΔͨΊͷϞδϡʔϧ OPU&,4 •
௨ৗͷ"OTJCMFͱಉ͡Α͏ʹ+JOKBςϯϓϨʔτ͕͑Δ ◦ XIFOJGGPSͳͲ͑ΔͷͰෳࡶͳͷग़͚͕͠Մೳ IUUQTHJUIVCDPNBOTJCMFDPMMFDUJPOTDPNNVOJUZLVCFSOFUFT
"OTJCMFLTNPEVMF "OTJCMFͳͷͰ+JOKBςϯϓϨʔτ͕͑Δʜʂ
"OTJCMFLTNPEVMF "OTJCMFͳͷͰJG͕͑Δʜʂ • ྫ͑νʔϜ"ͷϝϯόʔʹ"1*,FZ " Λઃఆ͍ͨ͠߹ͳͲ
"OTJCMFLTNPEVMF ݱࡏԼهͷΑ͏ʹมϑΝΠϧʹ໊લͱඞཁͳڥΛॻ͖͚ͩ͢ͰՃՄೳ ։ൃڥՃআͷ࡞ۀ࣌ؒख͕ܹؒݮͨ͠👍 • OBNF ։ൃऀ໊ ◦ 63-Ϧιʔεͷࣝผࢠ •
HJUIVC (JU)VCΞΧϯτ໊ ◦ 44)αʔόͷެ։ݤऔಘ༻ ◦ IUUQTHJUIVCDPN\VTFSOBNF^LFZT • NJTTJPO@UZQF ෦ॺ໊ ◦ Ұ෦ͷͷग़͚͠ʹ༻ • TFSWJDFT Ճ͢ΔαʔϏε໊ ◦ ෳͰҰ෦ͰՄ
"OTJCMFLTNPEVMFͷ·ͱΊ • ࠓճͷΑ͏ͳέʔεͰ"OTJCMFLTNPEVMF͕Ϛον͍ͯͨ͠ ◦ ,VCFSOFUFTϦιʔεͷૢ࡞ 44)αʔό্Ͱͷૢ࡞ͳͲ ◦ ͨͩ͜Ε͔ͳΓϨΞέʔεͳؾ͕͢Δ • ҰํͰେͷέʔεͰগ͠ॏ͗͢ΔΑ͏ͳؾʜ
◦ ྫ֤͑σϓϩΠεςʔδͰΛग़͚͠ΔͳΒLVTUPNJ[F )FMNͰेͦ͏
։ൃ༻%#ͷӡ༻ࣗಈԽ
։ൃ༻%#ʹ͍ͭͯ • "NB[PO"VSPSBͷεφοϓγϣοτػೳΛͬͯຊ൪%#͔Βෳ ◦ σʔλͷΛอ͍ͪͨͷͰ݄ʹߋ৽ ◦ ಠཱͨ͠ΠϯελϯεͰ͋ΔͨΊຊ൪ʹӨڹΛ༩͑ͳ͍ • ݸਓใʹ֘͢ΔσʔλϚεΩϯά ◦
ϝʔϧΞυϨεి൪߸ͳͲͦͷ··Ͱͤͳ͍ ◦ ෆཁͳςʔϒϧ536/$"5&͠ɺ։ൃ༻ʹඞཁͳσʔλ 61%"5&ΛͬͯμϛʔͷʹϚεΩϯά
DSFBUF@EFW@ECTI ຊ൪ͷεφοϓγϣοτ͔Β3%4ΛϦετΞ σʔλͷϚεΩϯά 536/$"5&61%"5& ։ൃ༻%#ͷ%/4ϨίʔυΓସ͑
ߋ৽લͷ3%4Λআ ࠓ·Ͱͷߋ৽ํ๏ • ൿͷεΫϦϓτDSFBUF@EFW@ECTIΛ୲ऀ͕खݩͰ࣮ߦ͍ͯͨ͠ ◦ #BTI "84$-* ◦ ௨ͳ͍ͷͰλʔϛφϧΛݟͯਐ֬ೝ ◦ ԿΒ͔ͷཧ༝Ͱࣦഊ͢Δ࣌Α͋͘Δ ͦͷࡍ࠷ॳ͔ΒΓ͠😇 ͔͔࣌ؒͬͯͭΒ͍ʜ
"844UFQ'VODUJPOTͰղܾͰ͖ΔͷͰʁ
"844UFQ'VODUJPOT • -BNCEBͳͲͷ֤छ"84αʔϏεͰϫʔΫϑϩʔ͕࡞ΕΔαʔϏε • ݅ذฒྻॲཧϧʔϓͳͲΛ࣮ݱͰ͖Δ • ʮঝೝ͢Δ·ͰಛఆͷॲཧΛػʯͳͲΈࠐΊΔ "844UFQ'VODUJPOTͱʁ🤔 IUUQTBXTBNB[PODPNKQTUFQGVODUJPOT
"844UFQ'VODUJPOT εφοϓγϣοτΛ࡞ B ྃ·Ͱػ 4MFFQ -PPQ εφοϓγϣοτ͔ΒΠϯελϯεΛϦετΞ
B ྃ·Ͱػ 4MFFQ -PPQ ϚεΩϯά42-Λྲྀ͢ B %#"ͳΒ%#"༻ͷ42-Λྲྀ͢ *G DSFBUF@EFW@ECTIͷஔ͖͑ʹͪΐ͏Ͳ͍͍ͷͰʁ
։ൃ༻%#ࣗಈߋ৽ϫʔΫϑϩʔ &WFOU#SJEHF DSPO 4UFQ'VODUJPOT -BNCEB ݺͼग़͠ ຊ൪3%4 ։ൃ༻3%4 4MBDL ֤छ௨
3PVUF ݄Ͱ࣮ߦ εφοϓγϣοτऔಘ ϦετΞϚεΩϯά ϨίʔυΓସ͑
࡞࣌ͷϙΠϯτ • -BNCEBࡉ͔۠ͬͯ͘࡞ ◦ 3%4ͷεςʔλεऔಘεφοϓγϣοτऔಘϚεΩϯάͳͲ ◦ -BNCEBͷ࣮ߦ੍࣌ؒݶ ͋Δ
࡞࣌ͷϙΠϯτ • ϦτϥΠͰ͖ΔΑ͏ʹ͓ͯ͘͠ ◦ 4UFQ'VODUJPOTͷ3FUSZϑΟʔϧυͰϦτϥΠઃఆ͕Մೳ ▪ -BNCEBͷىಈࣦഊ࣌ͳͲΑ͠ͳʹ࠶࣮ߦͯ͘͠ΕΔ ▪ ༧Ί-BNCEBଆͰ࠶࣮ߦ͞ΕΔ͜ͱΛߟྀͨ͠ίʔυΛॻ͘
ಋೖͯ͠Έͯ • 4UFQ'VODUJPOTͰΤϥʔϋϯυϦϯάͰ͖Δͷ͕ͱͯྑ͍ ◦ ྫ͑ಛఆͷ-BNCEBͷ্ཱͪ͛ʹࣦഊ͚ͨ࣌ͦͩ͜͠ΓͤΔ • αʔόϨεͳͷͰӡ༻ෛՙ͕গͳ͍ • DSFBUF@EFW@ECTI͕ඞཁͳ͘ͳͬͨ ◦
ͨΓલ͚ͩͲҰ൪େ͖͍ ◦ ͦͦ͜͜ͷසͰࣦഊ͢ΔͷͰׂͱӡ༻ෛՙ͕ߴ͔ͬͨʜ ಋೖͯ͠ΈͯΑ͔ͬͨ͜ͱ
͋Γ͕ͱ͏͍͟͝·ͨ͠