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
CI in kubernetes
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
matsuo
June 13, 2020
Technology
4.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CI in kubernetes
matsuo
June 13, 2020
More Decks by matsuo
See All by matsuo
how-to-make-the-helm-operator
matsu1235
0
590
CI details in Kubernetes
matsu1235
5
1.3k
K8sNativeSecurityToolkit
matsu1235
4
910
DockerCompose to k8s
matsu1235
0
1.9k
Other Decks in Technology
See All in Technology
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
260
20分でわかるセキュアAPI
nwiizo
2
270
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
100
LanceDB入門
mocobeta
7
500
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
580
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
2.8k
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
3.7k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
23
430k
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
760
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
140
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
380
A better future with KSS
kneath
240
18k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
The untapped power of vector embeddings
frankvandijk
2
1.8k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
620
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Soul's Torment
seathinner
6
3.4k
4 Signs Your Business is Dying
shpigford
187
22k
Believing is Seeing
oripsolob
1
190
Transcript
マスター タイトルの書式設定 KubernetesにおけるCIについて KubeFest Tokyo 2020 - LT
マスター タイトルの書式設定 自己紹介 名前 : 松尾 所属 :
株式会社オージス総研 職種 : インフラエンジニア 1
マスター タイトルの書式設定 そもそもCIとは? 2
マスター タイトルの書式設定 そもそもCIとは? Continuous Integrationの略 継続的インテグレーションと呼ばれている 開発者がコード変更を行うたびに、自動化されたビルドやテストを行うこと
これにより、小さなサイクルでインテグレーションを繰り返し行い、エラー修正や開発を迅速に行 うことが出来る 3 Plan Code Build Test Release Deploy Operate Continuous Integration
マスター タイトルの書式設定 CIの構成要素 4
マスター タイトルの書式設定 CIの構成要素 5 このうちテストには Lint、コード規約、ユニットテスト デプロイテスト
結合テスト 負荷テスト 脆弱性チェック シークレットチェック ベストプラクティスチェック コンプライアンスチェック カオスエンジニアリング ・・・ 今回は主に、テストについてお話します Code Build Test
マスター タイトルの書式設定 Kubernetesの構成要素 6
マスター タイトルの書式設定 物理/VMホスト 物理/VMホスト Kuberntesクラスタ コンテナ 従来システムの構成要素 Kubernetesを使ったシステムの構成要素 OS アプリケーション
ミドルウェア OS アプリケーション ミドルウェア 7 Kubernetesの構成要素 ※簡略化して書いています
マスター タイトルの書式設定 Gitリポジトリ コンテナレジストリ Dockerfile アプリケーション コンテナイメージ Manifest 適用 物理/VMホスト
Kuberntesクラスタ コンテナ OS アプリケーション ミドルウェア 8 Kubernetesの構成要素 開発者 ※簡略化して書いています プッシュ 静的なもの 動的なもの
マスター タイトルの書式設定 レイヤー 静的な 構成要素 動的な 構成要素 物理/VM等の インフラ構成 Terraform、CFn等
実環境 Kubernetes Manifest Kubernetesクラスタ コンテナ Dockerfile ベースイメージ コンテナイメージ ミドルウェア パッケージ アプリケーションコード リポジトリ Gitリポジトリ - コンテナ レジストリ - 9 Kubernetesの構成要素
マスター タイトルの書式設定 Kubernetsの構成要素に対する テスト例 10
マスター タイトルの書式設定 Kubernetsの構成要素に対するテスト例 静的テスト(ファイル) アプリケーションプログラム Lint、コード規約
ユニットテスト インフラ構成(CFn) Lint(cfn-lint) セキュリティチェック(cfn-ng) Dockerfile ベストプラクティスチェック(hadolint) K8s Manifest セキュリティチェック(kubesec) 自作ガバナンスルールのチェック(conftest) Yamlフォーマットチェック(kubeval) 結合テスト(kubetest) その他 Gitシークレットチェック(Git-secrets) 静的テスト(コンテナイメージ) CVE脆弱性チェック(Trivy) CISベンチマーク、ベストプラクティスのチェック(dockle) 動的テスト 実際にテストクラスタにデプロイして簡易的なテストを行う(kind) カオスエンジニアリング(litmus) 11
マスター タイトルの書式設定 いつテストを行うべきか? 12
マスター タイトルの書式設定 いつテストを行うべきか? 13 一般的にはShift Left Testingという考え方があり、ライフサイクルのより手前、つ まり静的なものに対して、早期かつ頻繁にテストを行うべきと言われています。 Gitリポジトリ
コンテナレジストリ Dockerfile コンテナイメージ Manifest 適用 物理/VMホスト Kuberntesクラスタ コンテナ OS アプリケーション ミドルウェア 開発者 プッシュ 静的なもの 動的なもの テスト
マスター タイトルの書式設定 KubernetesにおけるCI例 14
マスター タイトルの書式設定 KubernetesにおけるCI例 15 Push CIツール • アプリケーションコード • Lint、ユニットテスト
• Dockerfile • 脆弱性チェック • ベストプラクティスチェック • 全ファイル • シークレットチェック --- ビルド実施 --- • コンテナイメージ • ベストプラクティスチェック Push git Hook dev アプリケーション コード Dockerfile コンテナレ ジストリ Git-secrets コンテナ イメージ
マスター タイトルの書式設定 KubernetesにおけるCI例 16 Manifest Kubernetes クラスタ Push CIツール •
Manifest • Yamlフォーマットチェック • ユニットテスト • ベストプラクティスチェック • ガバナンスチェック • シークレットチェック 適用 git Hook conftest Git-secrets kubetest kubeval k8s admin
マスター タイトルの書式設定 こちらも良ければお願いします
マスター タイトルの書式設定 Shift Leftを心掛けてKubernetesでも CIをやっていきましょう!