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 as a Service の利用者を支える機能 - Platform E...
Search
Masaya Aoyama (@amsy810)
March 09, 2023
Programming
1
2.8k
Kubernetes as a Service の利用者を支える機能 - Platform Engineering Meetup #1 / pfem01-amsy810-k8s
Kubernetes as a Service の利用者を支える機能
Platform Engineering Meetup #1
Masaya Aoyama (@amsy810)
March 09, 2023
Tweet
Share
More Decks by Masaya Aoyama (@amsy810)
See All by Masaya Aoyama (@amsy810)
Keynote: Cloud Native Darwinism: Continuous Evolution of Platforms for Competitive Edge - KubeCon + CloudNativeCon Japan 2025 / kubecon-japan-2025-amsy810-keynote
masayaaoyama
0
49
KubeCon + CloudNativeCon EU 2025 Overview / k8sjp-70-kubecon-cncon-eu-2025-overview
masayaaoyama
0
140
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
510
Cloud Nativeを支える要素技術・プロダクト・プラクティスの歩み / infrastudy-returns-01-amsy810
masayaaoyama
4
810
KubeCon + CloudNativeCon EU 2024 Overview / k8sjp64-kubecon-overview
masayaaoyama
0
380
KubeCon + CloudNativeCon NA 2023 Sessions for Site Reliability Engineers / amsy810-srett08
masayaaoyama
2
850
KubeCon + CloudNativeCon NA 2023 Overview+Recap for Gateway API Cloud Native Community Japan Kickoff meetup / amsy810_cncj1
masayaaoyama
0
2.1k
Kubernetes基盤を自律的に支えるController化の実装Tips / forkwell-202303-amsy810-k8s
masayaaoyama
7
3.9k
CyberAgentにおけるKubernetes as a Serviceの歩みと利用者を支える機能 / cainfra01-amsy810-kubernetes
masayaaoyama
3
2.4k
Other Decks in Programming
See All in Programming
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
630
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2k
ゆくKotlin くるRust
exoego
1
200
Patterns of Patterns
denyspoltorak
0
450
Basic Architectures
denyspoltorak
0
190
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.1k
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
240
GoLab2025 Recap
kuro_kurorrr
0
3.8k
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
320
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.6k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Producing Creativity
orderedlist
PRO
348
40k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
200
Ethics towards AI in product and experience design
skipperchong
1
170
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
120
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Statistics for Hackers
jakevdp
799
230k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
330
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Transcript
Masaya Aoyama CyberAgent Kubernetes as a Service ͷར༻ऀΛࢧ͑Δػೳ Platform Engineering
Meetup #1 amsy810 @amsy810
- Co-chair ੨ࢁ ਅ + CREATIONLINE - 技術アドバイザ + SAKURA
Internet Research Center – 客員研究員 + 3-shake 技術顧問 + PLAID - Organizer - KaaS Product Owner - Publications Twitter: @amsy810
CyberAgent ͷϓϥΠϕʔτΫϥυͱ ։ൃνʔϜ
CyberAgent のプライベートクラウド CyberAgent には もともと事業領域ごとに、2 つのプライベートクラウド環境が存在 2021年ごろに合併し、 CIU(CyberAgent group Infrastructure
Unit)へ AI・広告事業側 プライベートクラウド (OpenStack ベース) メディア・ゲーム事業側 プライベートクラウド (OpenStack ベース)
KaaS / ML Platform 開発チーム
Kubernetes as a Service ʹجຊతͳػೳ
AKE の歴史
クラスタの管理: AKE Cluster API Provider
AKE におけるクラスタの管理 クラスタ アップグレード AKE Cluster API Provider (cluster-api-provider-openstack based)
& AKE Cluster Manager クラスタ オートスケール AKE Cluster Autoscaler (cloudprovider/clusterapi based) ノード オートヒーリング AKE Node Autorepair
AKE ʹ͓͚ΔΞυΦϯཧͱࣗಈԽ
ユーザークラスタ郡に対するエコシステムの管理 管理クラスタ上にデプロイ 管理クラスタ ユーザークラスタ 「ユーザー側では直接利⽤しないもの」 「KaaS としての⾃動管理系の機能」 などで利⽤ e.g. Cluster
Autoscaler 管理クラスタからユーザクラスタの状態を監視し、スケールが必要になったらスケールアウト e.g. Node Auto Repair 管理クラスタから、ユーザークラスタのノードの状態を確認し、問題が⽣じたら修復 ユーザー向けクラスタ上にデプロイ 管理クラスタ ユーザークラスタ 「ユーザが直接利⽤する必要があるもの」 「ユーザクラスタ上の情報が必要なもの」 などで利⽤ e.g. Cert Manager CRD を含む⼀式をデプロイし、ユーザーの Ingress などで証明書が利⽤できるように e.g. Prometheus / Exporter 類 ユーザのクラスタ上でメトリクスを収集する(管理クラスタへ集約)
ブランチ戦略 • 新たな Kubernetes マイナーバージョンが出るたびに main ブランチから切り出す • 変更は main
ブランチに⾏い、各ブランチには⾃動的に cherry-pick(実際には PR) • リリースを⾏うタイミングで各ブランチで tag を発⾏
Kubernetes マニフェストの⾃動更新の⽬指す形 Config リポジトリに対して、各エコシステムに対する ⾃動的なアップグレードのPRと変更差分の表⽰ Config Repo manifest manifest
αΠόʔΤʔδΣϯτͱAKE ͕ࢦ͢ੈք؍
CyberAgent における KaaS を取り巻く現状 CyberAgent グループには、約 100 のプロジェクト(⼦会社)が存在 CIU がターゲットとするのは各プロジェクト(⼦会社)
GKE on GCP / EKS on AWS / AKE on プライベートクラウド の技術選定は⾃由 AKE チームはパブリッククラウドと⽐較して、利⽤される・必要とされるプラットフォームの提供を⽬指す e.g. コスト、利便性、運⽤容易性、⼿厚いサポート、etc ただ Kubernetes を提供するだけだと、各利⽤者はがさまざまな上物を⼿間をかけて⽤意する ⾞輪の再発明が多い・ベストプラクティスがほかチームに伝播しない・膨⼤なキャッチアップが必要 といった組織上の課題を解決する ユーザーが遭遇した問題への対応・要望のある機能 を共通化してプラットフォーム側で提供
Kubernetes 運⽤の課題と AKE が⽬指す世界観 Cloud Native ではサービスアプリケーションを進化させ続けることが注⽬されがち… Kubernetes / Platform
側も塩漬けせずに進化させ続けるべき CloudNative / Kubernetes は運⽤が⼤変 「CI/CDなどで組み込む必要があった機能」 「コンサルが改善提案する内容」なども Platform 側で提供 CloudNative / Kubernetes はキャッチアップが⼤変 「適切に扱うためのベストプラクティス」 「広がり続けるエコシステム」を提供
Kubernetes 運⽤の課題と AKE が⽬指す世界観 Cloud Native ではサービスアプリケーションを進化させ続けることが注⽬されがち… Kubernetes / Platform
側も塩漬けせずに進化させ続けるべき CloudNative / Kubernetes は運⽤が⼤変 「CI/CDなどで組み込む必要があった機能」 「コンサルが改善提案する内容」なども Platform 側で提供 CloudNative / Kubernetes はキャッチアップが⼤変 「適切に扱うためのベストプラクティス」 「広がり続けるエコシステム」を提供
Kubernetes 利⽤の最適化・改善⽀援 余剰権限 の検知と通知(In progress) 余剰リソース の検知と通知 ⾮推奨・廃⽌ API の検知と通知
監査ログと Role/RoleBinding を元に不要な権限を算出し、通知を⾏う VPA をベースに Requests / Limits の改善提案を⾏う ユーザーはワークロードをデプロイするだけで、⾃動的に最適 なリソース設定の取得・適⽤までを⾏うことが可能 ⾮推奨 API ⽤の Constraints の .status.violations を利⽤し、 現在の Kubernetes version で⾮推奨なリソースの洗い出し
CyberAgent 横断での Gatekeeper Policy 合計 63 個のポリシーを実装 順次 さまざまな Kubernetes
への導⼊推進へ 導⼊を始めやすい提供⽅法 • Namespace 単位の Opt-in • リソース単位の Opt-out
ORAS による Constraint の OCI Image 化 Conftest の代わりに gator
test コマンドを利⽤(実際は kustomize/helm 対応のためラップしたツールを提供) ConstraintTemplate / Constraint を OCI Image 化して提供 ユーザーの任意のポリシーも組み合わせ可能 https://open-policy-agent.github.io/gatekeeper/website/docs/gator/#bundling-policy-into-oci-artifacts ConstraintTemplate / Constraint ConstraintTemplate / Constraint ConstraintTemplate / Constraint Git Repository apply Pull Request ConstraintTemplate / Constraint ConstraintTemplate / Constraint ConstraintTemplate / Constraint OCI Image 化したポリシー群 $ gator test --image policy:v0.1 manifests/
Kubernetes 運⽤の課題と AKE が⽬指す世界観 Cloud Native ではサービスアプリケーションを進化させ続けることが注⽬されがち… Kubernetes / Platform
側も塩漬けせずに進化させ続けるべき CloudNative / Kubernetes は運⽤が⼤変 「CI/CDなどで組み込む必要があった機能」 「コンサルが改善提案する内容」なども Platform 側で提供 CloudNative / Kubernetes はキャッチアップが⼤変 「適切に扱うためのベストプラクティス」 「広がり続けるエコシステム」を提供
Observability を実現する環境 管理クラスタ ユーザークラスタ ユーザークラスタ M etrics Metrics Promtail Promtail
Log Log Datasource Datasource Datasource Datasource proxy テナント A テナント B prometheus-community/prom-label-proxy を利⽤して Project ラベルを元にテナント分離 Dashboard Alerting Dashboard Alerting AKE 利⽤ユーザの監視基盤としては Grafana Alerting を提供 ※ 別途 Datadog のアドオンも提供 Datasource Alertmanager AKE利⽤者 AKE利⽤者 AKEチーム Alerting 運⽤上必要なダッシュボード ⼀般的なアラートなども提供 AKE チームが死活監視に必要なもの +ユーザーが必要なメトリクス
その他の OSS の利⽤・提供 イメージスキャン(SBOM ⽣成 / 脆弱性スキャン)の提供 Cisco 発の OpenClarity
プロジェクトの kubeclarity を利⽤ • Syft: SBOM の⽣成 • Grype: SBOM を元にした脆弱性スキャン [特徴1] クラスタ上で動作しているコンテナイメージを対象にスキャン [特徴2] クラスタ上で起動しているコンテナを対象にした検索も可能 Cilium CNI の提供(In-progress) 現在は Calico CNI を利⽤ 期待していること • ebpf / DSR 構成による レイテンシ削減 • DSR 構成による ClientIP の保持 • 可観測性の向上 • より柔軟な Network Policy • 将来的な eBPF-based Service mesh 参考: https://amsy810.hateblo.jp/entry/2022/12/02/122209 ⾼機能化 アドテクなどの領域に おけるメリット
·ͱΊ
まとめ AKE は約 6 年に渡って稼働し、OpenStack Heat > Clsuter API へ
少⼈数で効率的に運⽤するために、ソフトウェアによる⾃律化を推進 ⻑年の Kubernetes 運⽤の経験から、 ユーザーが負担と感じる運⽤や実装、 進化し続けるベストプラクティスを AKE チームが提供 アプリケーションだけではなく、進化し続ける Platform へ
We are hiring ! • Kubernetes クラスタの⾼度な運⽤⾃動化 with CustomController •
ユーザクラスタに対するセキュリティ・SRE ⽀援機能 • 機械学習 × 運⽤⽀援 • , and many more… ご相談は下記までお気軽にどうぞ Twitter: @amsy810 E-mail:
[email protected]
Thank you for your attention Twitter: @amsy810