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
Kubernetes と CI/CD の 活用について
Search
k725
January 27, 2021
Technology
2.9k
0
Share
Kubernetes と CI/CD の 活用について
k725
January 27, 2021
Other Decks in Technology
See All in Technology
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
3
280
Directions Asia 2026 | Beyond Buildable AI Agents: Let’s Visualize Partner Value in the AI Era
ryoheig0405
0
140
AWSアップデートから考える継続的な運用改善
toru_kubota
2
340
Purview Endpoint DLP 動かしてみた
kozakigh
1
460
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
3
1.1k
AI時代に求められる思考のパラダイムシフト
nrinetcom
PRO
0
110
"スキルファースト"で作る、AIの自走環境
subroh0508
1
670
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
200
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
210
AI Agent に“攻略本”を渡したら、150フォームの移行が回り始めた話/登壇資料(高橋 悟生)
hacobu
PRO
1
270
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
2
2.2k
Personal knowledge bases using LLM
lycorptech_jp
PRO
0
130
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
190
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
4 Signs Your Business is Dying
shpigford
187
22k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Optimizing for Happiness
mojombo
378
71k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
230
We Have a Design System, Now What?
morganepeng
55
8.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
250
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
Transcript
Kubernetes ͱ CI/CD ͷ ׆༻ʹ͍ͭͯ
Agenda • ͡Ίʹ • γεςϜ֓ཁ • Kubernetes ͷ׆༻ • GitHub
Actions Ͱͷ CI/CD • ࠓޙͷվળ
͡Ίʹ
୭ • ύʔιϧΩϟϦΞגࣜձࣾ αʔϏεاը։ൃຊ෦ • @_k725 • ۀ: Πϯϑϥ, ηΩϡϦςΟͷ
ΞυόΠεɾۀڥվળͳͲ • झຯ: ϓϩάϥϛϯά, OPSEC, OSINT, ͓ण͖࢘🍣
༰ʹؔͯ͠ • Kubernetes ʹ͍ͭͯ৮ΕΔ෦͕ଟ͍Ͱ͢ 🙇
γεςϜ֓ཁ
ͦͦ͜Ε…? • ݱࡏӡ༻͍ͯ͠Δ CAREER POCKET* ͷத৺తͳσʔλϕʔε • σʔλϕʔεͷϓϩδΣΫτ໊ Candicom •
Candidate (ީิ) + Communication (ΓͱΓ) = Candicom • αΠϘζࣾͷ Kintone Λར༻͍͕ͯͨ͠ ࣾͷنఆʹΑΓར༻Λଓ͚Δͷ͕͘͠ͳͬͨ • ؆୯ͳಡΈॻ͖͢Δ API Λඋ͑ͨɺϛχαΠζͷΫϩʔϯ * CAREER POCKET ʹ͍ͭͯޙड़
ར༻Πϝʔδ ߘ స৬τʔΫ ཤྺه* Candicom * ཤྺͳͲͷใར༻ऀͷಉҙͷԼอ͍ͯ͠·͢
ػೳ • ϑΟϧλΛ༻ͨ͠Ϧετ • CSV Πϯϙʔτ, ΤΫεϙʔτ • RESTful ͳ
CRUD API
Kubernetes ͷ׆༻
Kubernetes (k8s) ͱ • Google ͕ઃܭͨ͠ίϯςφΦʔέ ετϨʔγϣϯγεςϜ • ίϯςφΛΫϥελ (ෳͷϚγϯ
ͷଋ) Ͱԣஅͯ͠σϓϩΠ, ε έʔϦϯά͢ΔͨΊͷϓϥοτ ϑΥʔϜ Kubernetes - Wikimedia Commons / CC BY 4.0
Πϯϑϥߏ
Pros and Cons • Pros ☺ • ಛఆͷίϯϙʔωϯτͷΈͷߋ৽ͷ߹ɺӨڹൣғ͕ݶΒΕΔ • εέʔϦϯά,
Autohealing, ϩΪϯά, ϝτϦΫεऔಘͷԸܙ͕ Kubernetes ʹΑͬͯಘΒΕΔ (ओʹϚωʔδυͳ Kubernetes ͷ߹) • Cons 😭 • Kubernetes ୯ମͰͷӡ༻͖ͬΓݴͬͯͭΒ͍ [ཁग़య] • σϓϩΠपΓͳͲॳظͷஈ֊Ͱؾͮ͘ • ಛʹεςʔτΛ࣋ͭϦιʔε (DB, ΩϟογϡͳͲ) Λ ΫϥελʹࠞͥΔͱհͳଘࡏʹͳΔ
GitHub Actions Ͱͷ CI/CD
Կߟ͑ͳ͍ͱ٧·Δ • ಛʹ kubectl yaml ؔ࿈ • Q. ࠷৽ͷΠϝʔδΛৗʹ͏Α͏ʹ͢Δʹʁ •
ΠϝʔδλάΛมߋ͠ͳ͍ͱ৽͍͠ίϯςφ͕σϓϩΠ͞Εͳ͍ • ͰɺࢮͰ docker pull [image]:latest ͍ͨ͠ • Q. ։ൃ, εςʔδϯά, ༻ڥͰͷͷΓସ͑Λߦ͏ʹʁ • ʑ͍͠ yaml ΛίϐϖࡇΓͨ͘͠ͳ͍ • Q. ൿಗʹ͖͢ใͲ͏ͬͯӅ͢ʁ • ྲྀੴʹڥมʹϕλॻ͖ͭΒ͍
࠷৽ͷΠϝʔδΛৗʹ͍͍ͨ • 1. Skaffold* ͰΠϝʔδͷ Ϗϧυɾϓογϡ • 2. latest λάϏϧυ͠
ͨΠϝʔδʹ͚ͭͯ͋͛ ͯϓογϡ͢Δ • 3. Skaffold Ͱ Kubernetes ΫϥελͷσϓϩΠ * Skaffold ʹ͍ͭͯޙड़
Skaffoldͱ • Google Ͱ࡞ΒΕͨ Kubernetes ͷσϓϩΠΛศརʹ͢Δπʔϧ • kubectl, kustomize, helm
ͳͲΛΑ͠ͳʹ࣮ߦͯ͘͠ΕΔ • ϥούʔ + Ұ෦ಠࣗͷػೳ ͷΑ͏ͳ…
ڥຖʹΛΓସ͍͑ͨ
ൿಗใΛ͍࣋ͪͨ • Β͘Β͘ίʔε (ඪ४ػೳ) • ΫϥελͷཧݖݶΛ࣋ͬͯΔͱ༨༟ͰσʔλΛݟΔ͜ͱ͕ग़དྷΔ • GCP ͷཧը໘͔Β Key-Value
ͷ Key ֬ೝՄೳ • ͜ͷϦιʔεࣗମ yaml ͰදݱͰ͖Δ͕ɺ͜ͷํ๏Λ͏߹ ҙਤతʹ yaml Λॻ͔ͳ͍ํ͕ྑͦ͞͏ɻ (git ʹίϛοτͱ͔ͷՄೳੑ)
ൿಗใΛ͍࣋ͪͨ • ηΩϡΞίʔε • HashiCorp Vault • جຊతͳ Key-Value ܗࣜͰͷอҎ֎ʹɺಈతͳ
IAM ੜɺ σʔλͷ༗ޮظݶɺࠪϩάɺσʔλͷ҉߸Խ/෮߸Խ ͳͲͳͲ ߦ͑Δ • AWS KMS, Cloud KMS, Cloud Secret Manager ͳͲ
ͨͩ͠ • (ͲͷΈͪ) Ϋϥελ, Pod ʹ৵ೖ͞ΕΔͱ͍͘Β IAM Λߜ͍ͬͯͯ Ωπ͍෦͋Δ (RBAC
ͷ༻ͰΧόʔग़དྷΔ෦͋Δ) • ϓϩάϥϜଆϝϞϦʹೝূใͳͲΛ࣋ͭ͜ͱʹͳΔͷͰɺϦʔυ ΦϯϦʔίϯςφ & γΣϧΞΫηεണୣͩͬͨΓ͢Δ͖ (?) • ͜ͷลΓ GKE ͷυΩϡϝϯτͳͲΛಡΈ·͕࣮ͨ֬͠ͳͷෆ ໌…
ࠓޙ*ͷվળ ͜ͷลղܾ👏 *ࠓޙͱ͔ॻ͖ͭͭ͜ͷͷݩωλ 2020/06 ͘Β͍Ͱ͢…
END