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基盤における開発者体験 とセキュリティの両⽴ / Balancing de...
Search
mekka
April 09, 2026
Technology
960
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
Kubernetes Novice Tokyo #40
mekka
April 09, 2026
More Decks by mekka
See All by mekka
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
8.3k
ACK + kro で実現する K8s ネイティブな AWS リソース管理 / Achieving Kubernetes-native AWS resource management with ACK + kro
chmikata
0
880
OpenTelemetry x Datadog APM 多言語環境での計装戦略と実践 (削減前)/ instrumentation-strategies-and-practices-in-multilingual-environment-bef
chmikata
0
54
OpenTelemetry x Datadog APM 多言語環境での計装戦略と実践 / instrumentation-strategies-and-practices-in-multilingual-environment
chmikata
0
450
組織のSREを推進するためのPlatform EngineeringとEKS / Platform Engineering and EKS to drive SRE in your organization
chmikata
0
320
ArgoCDによるGitOps導入 / ArgoCD GitOps
chmikata
0
270
KEDAで始めるイベント駆動システム #k8snovice / keda-tutorial
chmikata
1
490
新サービス立ち上げに向けたCI/CD環境の構築
chmikata
0
3.1k
rakusmeetup-number-4-operation
chmikata
1
740
Other Decks in Technology
See All in Technology
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
Distributed Transactions Under Fire: Building a Zero-Oversell Flash Sale Platform with Amazon Aurora DSQL
yama3133
0
100
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.3k
分割40%キーボードにスムーズに入門するには
hoto17296
1
180
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
340
internal/testlog で遊ぼう
rokuosan
0
340
:syncing_time:
sksat
3
840
hookで自作する Claude Code の「実況ボード」
shinyasaita
2
230
Microsoft MVP プログラムを紹介するから目指す人増えてくれ
tsubakimoto_s
0
140
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
86k
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
13
9k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
690
Balancing Empowerment & Direction
lara
6
1.3k
How STYLIGHT went responsive
nonsquared
100
6.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
670
エンジニアに許された特別な時間の終わり
watany
108
250k
How to Talk to Developers About Accessibility
jct
2
530
KATA
mclloyd
PRO
35
15k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
65
57k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Transcript
Kubernetes基盤における開発者体験 とセキュリティの両⽴ 1 Kubernetes Novice Tokyo #40 ~ 共通Helmチャートで実現するPlatform Engineering
~
2 ⾃⼰紹介 SIer にてアプリケーションエンジニアとしてキャリアをスタート。ToBのSaaS企業 でのSRE組織の⽴ち上げを経て、2024年10⽉より株式会社ログラスに参画。 現在は共通基盤部にて、開発組織への SRE の推進およびプラットフォーム開発に取 り組んでおり、SRE を⽂化として根付かせることをテーマに活動しています。
株式会社ログラス SRE ⾒形 親久∕mekka Chikahisa Mikata∕https://x.com/melpo_mel
3
None
None
None
Kubernetes基盤における開発者体験とセキュリティの両⽴ 7 • 課題: K8sマニフェストの複雑さと属人化 • どう作ったか : 共通Helmチャートの設計思想 •
どう守っているか : SSOT + CI による品質担保 今日お話しすること
8 開発チームが抱えていた課題 Kubernetes基盤における開発者体験とセキュリティの両⽴ 課題 影響 K8sマニフェストの学習コストが高い デプロイまでのリードタイムが長い セキュリティ設定が属人的 サービスごとに品質がばらつく YAML定義が巨大で見通しが悪い
レビュー負荷が高くミスが入り込む 目指す姿: 開発者はアプリの設定だけに集中し、基盤側がセキュリティ・運用をガードレールとして提供する
Kubernetes基盤における開発者体験とセキュリティの両⽴ 9 • ArgoCD App-of-Apps + ApplicationSet でデプロイを自動化 • テンプレートリポジトリ(基盤チーム管理)とサービスリポジトリ(開発チーム管理)の2リポジトリ構成
GitOps アーキテクチャ概要
Kubernetes基盤における開発者体験とセキュリティの両⽴ 10 なぜ1つの巨大チャートにしないのか • 役割ごとにチャートを分割 → テンプレートの可読性・保守性が向上 • 全チャートが common
ライブラリに依存 → セキュリティ・監視・スケジューリングを共通化 • サービスが必要なチャートだけを組み合わせて利用 例: Web API → base + stateless 例: バッチ処理付き → base + stateless + workflow + migration 例: イベント駆動 → base + stateless + events 共通チャートの設計 : チャート分割による関心の分離
11 チャート構成と各チャートの役割 Kubernetes基盤における開発者体験とセキュリティの両⽴ チャート 役割 主なリソース common 全チャート共通の基盤 SecurityContext, Labels
base サービスの土台 ServiceAccount, NetworkPolicy stateless 常駐アプリ(ステートレス) Deployment, Service, Ingress stateful 常駐アプリ(ステートフル) StatefulSet, Service, Ingress workflow バッチ・定期ジョブ WorkflowTemplate events イベント駆動処理 EventSource, Sensor migration DBマイグレーション Workflow, WorkflowTemplate
12 commonライブラリ : 全チャート共通の基盤 Kubernetes基盤における開発者体験とセキュリティの両⽴ 機能 内容 SecurityContext 非root, readOnlyFS,
drop ALL, seccomp Datadogアノテーション APMライブラリ自動注入(Java/Python/JS) スケジューリング TopologySpread, Affinity, Tolerations の自動設定 共通ラベル app.kubernetes.io/, platform.loglass.com/ 開発者が何も指定しなくても、全Podにセキュリティとオブザーバビリティが適用される構造 commonはライブラリチャートとして実装、named templateで共通設定を定義し各チャートから呼び出す
13 組み込みセキュリティ : Secure by Default Kubernetes基盤における開発者体験とセキュリティの両⽴ レイヤー 仕組み 内容
Namespace Pod Security Admission restricted enforce Network NetworkPolicy 同一NS + Istio + Datadog のみ許可 Pod SecurityContext 非root, readOnlyFS, drop ALL, seccomp セキュリティ設定を「忘れる」ことが構造的に起きない 必要に応じてオーバーライドは可能(権限的に厳しい場合など) 3層のセキュリティが全Podに自動適用
Kubernetes基盤における開発者体験とセキュリティの両⽴ 組み込みセキュリティ : Secure by Default 14
Kubernetes基盤における開発者体験とセキュリティの両⽴ 15 statelessの最小構成のサンプル SecurityContext, NetworkPolicy, Datadog, TopologySpread ... 全て自動適用 Deployment,
Service, Pdbなどの必要リソースを生成 開発者が書く YAMLはこれだけ
Kubernetes基盤における開発者体験とセキュリティの両⽴ 16 品質担保 (1): なぜ独自のスキーマ管理を選んだのか Helmの既存プラグインの課題 • アノテーションやコメントの構造が使いにくかった • description
や additionalProperties の表現力が不足している values.schemaをyamlにして管理 • JSONよりはマシ(誰かアイディアあったら教えて) • additionalProperties: false で開発者管理キーを厳密に定義 • SRE管理はtype: objectのみといった調整が出来る
Kubernetes基盤における開発者体験とセキュリティの両⽴ 17 品質担保 (2): SSOT からの自動生成パイプライン • 開発者はこのテンプレートをコピーして値を 埋めるだけ •
required / optional がコメントで明示 → 何 を書くべきか迷わない • CIで make generate + git diff --exit-code → 生成物の同期漏れを自動検出
18 品質担保 (3): templatesリポジトリの CI Kubernetes基盤における開発者体験とセキュリティの両⽴ テストパターン 内容 Full 全機能ONでリソース数・フィールド値を検証
Minimal 最小構成でオプション機能が含まれないことを確認 Split Values 分割values と 結合values の出力一致を検証 CIパイプライン( PR時に自動実行) 1. make generate + git diff → 生成物の同期チェック 2. Helm テスト(Full / Minimal / Split) 3. kubeconform → K8s/CRDスキーマ適合性チェック 4. Trivy → セキュリティスキャン(CRITICAL/HIGH) 5. 失敗時 → Slack 通知 チャートのテスト( 3パターン)
19 品質担保 (4): servicesリポジトリの CI + ローカル検証 Kubernetes基盤における開発者体験とセキュリティの両⽴ CIパイプライン( PR時に自動実行)
1. 変更検出 → 影響するサービス×環境を自動特定 2. helm lint + template + kubeconform + trivy を並列バリデーション 3. 失敗時 → PRコメント + Slack 通知(サービスチームへ) 開発者のローカル検証 • scripts/validate.sh <service> <env> [component] • helm lint → template → kubeconform → trivy を一括実行 • CIと同じ検証をローカルで再現できる
20 品質担保: 2つのリポジトリを横断する CI Kubernetes基盤における開発者体験とセキュリティの両⽴
21 まとめ Kubernetes基盤における開発者体験とセキュリティの両⽴ 開発者体験 セキュリティ アプリ設定だけ書けばデプロイ可能 全Pod に Secure by
Default チャートを組み合わせるだけで構成完了 PSA + SecurityContext + NetworkPolicy の3層防御 ローカルで事前検証 → 安心してPR セキュリティを「忘れる」ことが構造的に不可能 共通Helmチャートで実現したこと レイヤー 仕組み スキーマ 全機能ONでリソース数・フィールド値を検証 テスト + 検証 Full / Minimal / Split テスト + kubeconform + Trivy をCI両方で実行 CI templates / services 両リポジトリで独立したパイプライン SSOT + CI による品質担保
22
23