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.1k
Kubernetes と CI/CD の 活用について
k725
January 27, 2021
Tweet
Share
More Decks by k725
See All by k725
クリスマスこそミートアップ(スライドの練習)
k725
0
20
Gyazoに恋する
k725
0
360
Other Decks in Technology
See All in Technology
20250129 Findy_テスト高活用化
dshirae
0
220
Zenn のウラガワ ~エンジニアのアウトプットを支える環境で Google Cloud が採用されているワケ~ #burikaigi #burikaigi_h
kongmingstrap
18
6.8k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
120k
extensionとschema
yahonda
1
100
GitLab SelfManagedをCodePipelineのソースに設定する/SetGitLabSelfManagedtoCodePipeline
norihiroishiyama
1
120
EDRからERM: PFN-SIRTが関わるセキュリティとリスクへの取り組み
pfn
PRO
0
110
もし今からGraphQLを採用するなら
kazukihayase
9
4.2k
panicを深ぼってみる
kworkdev
PRO
2
140
ソフトウェア開発現代史:製造業とソフトウェアは本当に共存できていたのか?品質とスピードを問い直す
takabow
15
5.3k
Women in Agile
kawaguti
PRO
2
170
Autify Company Deck
autifyhq
2
41k
CNAPPから考えるAWSガバナンスの実践と最適化
yuobayashi
5
680
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.4k
Navigating Team Friction
lara
183
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Speed Design
sergeychernyshev
25
760
Six Lessons from altMBA
skipperchong
27
3.6k
Producing Creativity
orderedlist
PRO
343
39k
4 Signs Your Business is Dying
shpigford
182
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Done Done
chrislema
182
16k
Designing Experiences People Love
moore
139
23k
Transcript
Kubernetes ͱ CI/CD ͷ ׆༻ʹ͍ͭͯ
Agenda • ͡Ίʹ • γεςϜ֓ཁ • Kubernetes ͷ׆༻ • GitHub
Actions Ͱͷ CI/CD • ࠓޙͷվળ
͡Ίʹ
୭ • ύʔιϧΩϟϦΞגࣜձࣾ αʔϏεاը։ൃຊ෦ • খྛ Ղ࢙ • ۀ:
Πϯϑϥ, ηΩϡϦςΟͷ ΞυόΠεɾۀڥվળͳͲ • झຯ: ϓϩάϥϛϯά, 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