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.5k
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.6k
The Cloud Native Chronicles: 10 Years of Community Growth Inside and Outside Japan
inductor
0
200
Cracking the KubeCon CfP
inductor
2
930
KubeCon Recap -Platform migration at Scale-
inductor
1
1.1k
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
3
610
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
28
6.7k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
3
1k
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
1.4k
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
23
7.8k
Other Decks in Technology
See All in Technology
人気商品が「ちゃんと買える」をつくる ー ECの負荷改善
ykagano
1
190
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9.2k
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
120
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.6k
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
470
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
290
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
170
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
2
1.7k
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
230
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
1.1k
プロダクトエンジニアに必要な「いい感じ」に作る能力 〜たくさん作れる時代に、どこまで作るかの決め方〜
jnishime_dresscode
2
820
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
560
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Exploring anti-patterns in Rails
aemeredith
3
490
Code Review Best Practice
trishagee
74
20k
Claude Code のすすめ
schroneko
67
230k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
230
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The agentic SEO stack - context over prompts
schlessera
0
880
Technical Leadership for Architectural Decision Making
baasie
3
550
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
460
AI: The stuff that nobody shows you
jnunemaker
PRO
9
960
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