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
Cloud Controller Manager 超入門 / Cloud Controller...
Search
Kohei Ota
November 10, 2020
Technology
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Controller Manager 超入門 / Cloud Controller Manager 101
https://k8sinternal.connpass.com/event/194015/
Kohei Ota
November 10, 2020
More Decks by Kohei Ota
See All by Kohei Ota
CloudNative Meets WebAssembly: Exploring Wasm's Potential to Replace Containers
inductor
4
3.5k
The Cloud Native Chronicles: 10 Years of Community Growth Inside and Outside Japan
inductor
0
180
Cracking the KubeCon CfP
inductor
2
880
KubeCon Recap -Platform migration at Scale-
inductor
1
1.1k
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
3
600
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
28
6.6k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
3
990
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
1.4k
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
22
7.6k
Other Decks in Technology
See All in Technology
Zenoh on Zephyr on LiteX
takasehideki
2
140
從開發到部署全都交給 AI:實作 AI 驅動的自動化流程
appleboy
0
190
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
230
どうして今サーバーサイドKotlinを選択したのか
nealle
0
140
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
180
product engineering with qa
nealle
0
100
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
0
220
4人目のSREはAgent
tanimuyk
0
310
ClaudeCodeの公式Memory Architecture
nagatsu
0
120
WebGIS AI Agentの紹介
_shimizu
0
600
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
240
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
140
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
Chasing Engaging Ingredients in Design
codingconduct
0
230
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Statistics for Hackers
jakevdp
799
230k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Why Our Code Smells
bkeepers
PRO
340
58k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Paper Plane (Part 1)
katiecoart
PRO
0
9.3k
4 Signs Your Business is Dying
shpigford
187
22k
Transcript
Cloud Controller Manager 超入門 Kohei Ota, CNCF Ambassador/HPE Solutions Architect
Kubernetes Internal #2
© 2020 Cloud Native Computing Foundation 2 Who am I
Kohei Ota (@inductor) •CNCF Ambassador •Cloud Native Solution Architect at HPE •Kubernetes SIG-Docs Japanese owner •Docker Meetup Tokyo Organizer •CloudNative Days Tokyo Organizer •Docker enthusiast
© 2020 Cloud Native Computing Foundation 3 Today’s goal Cloud
Controller Manager完全に理解した
小話: DockerとKubernetesの 生まれた時期と経緯
© 2020 Cloud Native Computing Foundation 5 Containers Cloud Native
Kubernetes (2015) •Googleが15年近く前から作っていたBorgという基盤 技術の思想がベース – インフラを抽象化して必要なリソースをアプリに提供す るためのプラットフォーム •Borgの思想をフルにOSSとして展開 Open Source IaaS PaaS Open Source PaaS Virtualiza- tion 2000 2001 2006 2009 2010 2011 Non- Virtualized Hardware 2013 2015 IaaS here!
© 2020 Cloud Native Computing Foundation 6 Marketing Committee Technical
Oversight Committee Governing Board End User Community Container Orchestration Distributed system Platform for Platforms • 複数の「ノード」を束ねる クラスタリング • 柔軟なジョブスケジューリング • Raftベースの分散KVS • 高速で簡単なスケーリング • ロードバランサーとの統合 • 柔軟で簡単なデプロイ手段 • インフラ基盤との強力な連携 • 拡張を前提に作られた APIやリソース • 大きなコミュニティとエコシステム Kubernetesの3つの顔
© 2020 Cloud Native Computing Foundation 7 Marketing Committee Technical
Oversight Committee Governing Board End User Community Container Orchestration Distributed system Platform for Platforms • 複数の「ノード」を束ねる クラスタリング • 柔軟なジョブスケジューリング • Raftベースの分散KVS • 高速で簡単なスケーリング • ロードバランサーとの統合 • 柔軟で簡単なデプロイ手段 • インフラ基盤との強力な連携 • 拡張を前提に作られた APIやリソース • 大きなコミュニティとエコシステム SIG Cloud Provider が各クラウド基盤と の連携部分を担って いる Kubernetesの3つの顔
© 2020 Cloud Native Computing Foundation 8 SIGってなに? • SIGs(Special
Interest Groups) ◦ ドキュメント管理やリリース管理から、各コンポーネントの実装 に至るまで、さまざまなSIGがある ▪ あらゆる決定は基本的にSIGによって行われる ◦ SIGごとに異なる組織からのチェア(代表)がいる • Kubernetesそのものがコンポーネントごとに分かれたマイクロ サービス ◦ 組織もまた必要に合わせ分割(SIG, WG) ◦ 各SIGがそれぞれの目的のために日々頑張っている
© 2020 Cloud Native Computing Foundation 9 SIGってなに? • SIGs(Special
Interest Groups) ◦ ドキュメント管理やリリース管理から、各コンポーネントの実装 に至るまで、さまざまなSIGがある ▪ あらゆる決定は基本的にSIGによって行われる ◦ SIGごとに異なる組織からのチェア(代表)がいる • Kubernetesそのものがコンポーネントごとに分かれたマイクロ サービス ◦ 組織もまた必要に合わせ分割(SIG, WG) ◦ 各SIGがそれぞれの目的のために日々頑張っている SIG Cloud Provider 各クラウド基盤とのAPIをよしなにする実装を考える人たちのあつ まり サブプロジェクトにはprovider-aws、provider-azure、provider-gcp などといった各主要クラウド基盤たちが名を連ね、標準化に勤しん でいる
© 2020 Cloud Native Computing Foundation 10 SIGってなに? • SIGs(Special
Interest Groups) ◦ ドキュメント管理やリリース管理から、各コンポーネントの実装 に至るまで、さまざまなSIGがある ▪ あらゆる決定は基本的にSIGによって行われる ◦ SIGごとに異なる組織からのチェア(代表)がいる • Kubernetesそのものがコンポーネントごとに分かれたマイクロ サービス ◦ 組織もまた必要に合わせ分割(SIG, WG) ◦ 各SIGがそれぞれの目的のために日々頑張っている SIG Cloud Provider 各クラウド基盤とのAPIをよしなにする実装を考える人たちのあつ まり サブプロジェクトにはprovider-aws、provider-azure、provider-gcp などといった各主要クラウド基盤たちが名を連ね、標準化に勤しん でいる
© 2020 Cloud Native Computing Foundation 11 SIGってなに? • SIGs(Special
Interest Groups) ◦ ドキュメント管理やリリース管理から、各コンポーネントの実装 に至るまで、さまざまなSIGがある ▪ あらゆる決定は基本的にSIGによって行われる ◦ SIGごとに異なる組織からのチェア(代表)がいる • Kubernetesそのものがコンポーネントごとに分かれたマイクロ サービス ◦ 組織もまた必要に合わせ分割(SIG, WG) ◦ 各SIGがそれぞれの目的のために日々頑張っている SIG Cloud Provider 各クラウド基盤とのAPIをよしなにする実装を考える人たちのあつ まり サブプロジェクトにはprovider-aws、provider-azure、provider-gcp などといった各主要クラウド基盤たちが名を連ね、標準化に勤しん でいる • CCM(Cloud Controller Manager) • CPI(Cloud Provider Interface) の2つが作られたことで、新たな基盤への依存 を外部注入できることができるように
CCM Design overview
© 2020 Cloud Native Computing Foundation 13 CCM Design overview
kube-api-server経由でリソース の差分をチェック 必要なリソースを作成するために Cloud Provider APIを呼ぶ
© 2020 Cloud Native Computing Foundation 14 CCMの責務範囲 • Node
Controller ◦ IaaSとNode Objectのつなぎ込み、メタデータの取得 • Route Controller ◦ ServiceをOverlay networkで使うために各クラウドのネット ワーク経路を制御 • Service Controller ◦ type: LoadBalancerの実体の管理、ターゲットのヘルス チェックなど、クラウドアプライアンスとService Objectのつな ぎ込み
CCMと併せて知っておきたい 他のプロジェクト
© 2020 Cloud Native Computing Foundation 16 CCMと他のエコシステム • Cluster
API ◦ Kindやkubeadmなどで使われる「クラスターを自動生成、管 理する」ためのAPI仕様 ◦ 今後さまざまなシーンでクラスターの自動化に使われていくこ とが予想され、クラウド基盤との連携も重要 • Cluster Autoscaler ◦ いわゆる「クラウドのオートスケーリング」をクラスターと連携さ せるための仕組み ◦ AWSやGCPなど主要クラウドのマネージドKubernetesで触 れる動的なスケーリングなどへの利用においてCCMと密接に 関わっている
© 2020 Cloud Native Computing Foundation 17 まとめ • CCMはクラウドでKubernetesを動かすための重要
な仕組み • type: LoadBalancerを使っている人はCCMのは たらきに感謝しましょう • bellさんのセッションに期待!
[email protected]
This presentation is available at: https://github.com/cncf/presentations Please follow up
with CNCF