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
0
2.6k
Kubernetes と CI/CD の 活用について
k725
January 27, 2021
Tweet
Share
More Decks by k725
See All by k725
クリスマスこそミートアップ(スライドの練習)
k725
0
21
Gyazoに恋する
k725
0
370
Other Decks in Technology
See All in Technology
エラーとアクセシビリティ
schktjm
1
1.2k
Android Audio: Beyond Winning On It
atsushieno
0
110
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
560
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.4k
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
170
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
430
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
180
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
130
20250913_JAWS_sysad_kobe
takuyay0ne
2
180
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
70
11k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Thoughts on Productivity
jonyablonski
70
4.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Navigating Team Friction
lara
189
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Embracing the Ebb and Flow
colly
87
4.8k
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