SlideShare a Scribd company logo
Kubernetes as a serviceの謎を解く。
Alibaba Cloudが1万個のKubernetesクラスタを
管理する方法
マネージドサービスの裏側の努力を知る。
1
@mosuke5
AliEaters Tokyo #16 (2020/12/11)
自己紹介
2
名前 もーすけ (@mosuke5)
仕事 Red HatでKubernetesに関するお仕事とか
それまで Alibaba Cloudの日本リージョンの立ち上げ・運営
(いちおう初代MVP。失効寸前ww)
モバイルネットワークの監視システムの開発・運用
Webアプリケーションエンジニア(学生時)
最近のこと 珈琲、自作家系ラーメン、
ブログ https://blog.mosuke.tech
Alibaba Cloudの最近のプロダクト動向につい
てはよくわかりません。
コンテナ界隈からみたAlibabaの存在感という
観点で。
中の人をやっていたときには理解できなかった
ことがつながってきた。
少し前だけれど
4
執筆者は2年前の12月のAliEaters
に来てくれたZhimin。許可をとって
ブログを翻訳させてもらいました。
https://blog.mosuke.tech/entry/2020/
11/17/how-to-manage-lots-of-k8s/
なにが難しいか
1. Alibaba Cloud Container Service for Kubernetes(以下、ACK)は、世界で
10,000以上のクラスタが利用されている。
2. ひとつのクラスタが大きいのではなく、クラスタ数が多い。
a. 消したり作ったりされる
b. 大規模も小規模もある
c. 種類もたくさん
i. managed, serverless, gpu cluster, edge cluster, windows...
d. Kubernetesのバージョン違い
e. 20のリージョンで展開
① Kube-on-kube and cell-based architecture
ACKは、KubernetesクラスタをKubernetes自体を使って管理している。
つまり、顧客のKubernetesクラスタのコントロールプレーンを管理するためにメタ Kubernetesクラスタを用いて
管理している。
セルA セルB セルC
meta
cluster
meta
cluster
meta
cluster
Customer clusters Customer clusters Customer clusters
そもそもKubernetes Clusterとは
宣言的な構成管理
Kubernetesの強力なポイントに、マニ
フェストによるアプリケーションのワーク
ロードの「宣言的な構成管理」がある。ア
プリケーションが実行される環境はマニ
フェストに記述し、Git管理の対象とする
ことをおすすめする。可能な限り、
Kubernetesへの変更はマニフェストを軸
とし、実際のワークロードと管理している
マニフェストの乖離をなくすことをめざす。
Operatorとはなにか?
カスタムリソース
kind: MyDeployment
apiVersion: mosuke5.com/v1
metadata:
name: my-application
spec:
readReplicas: 3
image: my-image
configs:
- config-1
- config-2
- config-3
Kubernetes
利用者
Deployments
StatefulSets
Autoscalers
Secrets
ConfigMaps
PersistentVolume
K8s API
Operator / Custom Controller
(Podとして起動)
イベント監視
Reconciliation
(調整ループ)
別名カスタムコントローラ。ユーザ独自のコントローラを作成す
ることで、ネイティブの Kubernetesでできなかった動きを実現
することができる。Go言語等での開発が必要。
独自のロジックで
Kubernetesリソースを
作成・削除・調整
9
Kubernetes管理用のOperator
Ant Financial でも同様のKubernetesクラス
タ管理用方法を用いており、記事の内容から
推測するに、Kubernetesを生成するための
Operator(Kubernetesの拡張)を作って対応
していると思われる。
中国語参考記事:
万级规模 K8s 如何管理?蚂蚁双11核心技术公开
https://developer.aliyun.com/article/726802
カスタムリソース(下記はイメージです)
kind: AckCluster
apiVersion: aliyun.com/v1
metadata:
name: user-a-cluster-01
spec:
version: 1.18.0
cluster-type: managed
cluster-name: hoge-cluster
nodes:
- instance-type: ecs.t3.xlarge
disk: 50GB
ssh-key: hogekey
- instance-type: ecs.t3.xlarge
disk: 50GB
ssh-key: hogekey
cni-plugin: terway
② Capacity planning for meta cluster
API Server
etcd
controller
manager
scheduler
control plane for userA
API Server
etcd
controller
manager
scheduler
control plane for userB
meta kubernetes cluster customer kubernetes cluster
ENI
kubelet
kube-proxy
kubelet
kube-proxy
User work loads
meta clusterのリソース使用量や、利
用しているVPCのネットワークリソース
などを見て、新しいセルを作るかどう
か検討する。
API Server向けSLB
(Control Planeはマネージド)
ENIでAlibaba Cloud管理側の
VPCとコネクト
③ Scaling the master components of customer clusters
API Server
etcd
controller
manager
scheduler
control plane for userA
API Server
etcd
controller
manager
scheduler
control plane for userB
meta kubernetes cluster customer kubernetes cluster
ENI
kubelet
kube-proxy
kubelet
kube-proxy
User work loads
control planeのスケールし
なければいけないタイミング
がある。ある計算ロジックに
合わせて、3段階でスケー
ルする。
API Server向けSLB
(Control Planeはマネージド)
ENIでAlibaba Cloud管理側の
VPCとコネクト
ACK: professional managed cluster
最近ACKにSLAの高いクラスタモード(Professional Clustere)が追加された。その機
能の内容に下記がある。この機能の内容が、おそらくいま説明したものである。(おそ
らくと書いたのは明確にドキュメントに書かれていないので)
API Server
- Provides the automatic scaling feature.
- Monitors availability.
④ Evolving customer clusters at scale
Kubernetesは3ヶ月に1つマイナーバージョンがあがる。サポート期間は1年間とかなり
速いペースで進化する。また、Kubernetes本体だけでなくその上で動く各種ソフトウェ
アもバージョンアップが行われる。
とにかくバージョンアップ追随が大変!!!
CSI
CNI
Device Plugin
Scheduler Plugin
Cloud Controller Manager
alicloud-monitor-controller
alicloud-application-controller
kube-flannel-ds
Nginx Ingress Controller
metrics-server
・・・
大量クラスタのバージョンアップに追随するために
1. プラグイン可能なコンポーネントをすべて登録・管理するための一元化されたシス
テムの開発
2. 移行前のアップグレードが成功しているかどうかを確認するために、プラグインコ
ンポーネントのヘルスチェックシステムを開発。
アップグレードごとのチェックとアップグレード後のチェックを実施。
3. 運用効率化のためのカスタムコントローラ開発
a. Kubernetesの拡張のコントローラを独自開発し、OSS化
→ OpenKruise
⑤ Global Observability Across Datacenters
Edge Prometheus
Customer cluster
Customer cluster
Customer cluster
Edge Prometheus
Customer cluster
Customer cluster
Customer cluster
Edge Prometheus
Customer cluster
Customer cluster
Customer cluster
Cascading
Prometheus
Cascading
Prometheus
Central
Prometheus
China Regions Europe rigions Asia Regions
Alert Manager
SRE
モニタリングは、典型的な多層
アグリゲーションモデルを用い
て設計。
DingTalk, etc
まとめ
1. Alibaba Cloudのサービスを支える側の努力がわかると安心して使えてくる
2. 裏側を知るとサービスの仕様も理解できてくる
3. 中国語や英語で結構いい記事たくさんでているのでチェックすべし
4. アリババは、クラウドネイティブコミュニティへの貢献度もそこそこ高い気がする!
References
1. 【翻訳】Kubernetes as a serviceの謎を解く。Alibaba Cloudが1万個のKubernetesクラスタを管理する
方法
2. 万级规模 K8s 如何管理?蚂蚁双11核心技术公开
3. OpenKruise

More Related Content

PDF
Kubernetesを使う上で抑えておくべきAWSの基礎概念
PDF
Alibaba Cloud Serverless Kubernetes 徹底解説
PDF
Apsara Conference 2019 コンテナ系サービスのアップデート情報
PDF
RHEL8 on Alibaba Cloud
PDF
20211217 Alibaba Cloudでだってテスト駆動インフラ構築したい
PDF
Terraform×Rancherでマルチクラウドを一歩すすめる
PDF
【解説】データ指向アプリケーションデザイン 12章 データシステムの未来
PDF
クラウド環境でのロギングと、AlibabaCloudでのロギングソリューション
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Alibaba Cloud Serverless Kubernetes 徹底解説
Apsara Conference 2019 コンテナ系サービスのアップデート情報
RHEL8 on Alibaba Cloud
20211217 Alibaba Cloudでだってテスト駆動インフラ構築したい
Terraform×Rancherでマルチクラウドを一歩すすめる
【解説】データ指向アプリケーションデザイン 12章 データシステムの未来
クラウド環境でのロギングと、AlibabaCloudでのロギングソリューション

What's hot (20)

PDF
テックブログのすゝめ -アウトプットで知識習得サイクルを回そう-
PDF
知られざる。Alibaba Cloudを支えるテクノロジー (manabiya.tech)
PDF
Awsjpcasestudies
PPTX
AWS EC2の自動リブート
PDF
面白いは正義
PPTX
JAWS DAYS 2017直前! AWS総復習
PDF
DevLove Kansai AWS
PDF
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
PDF
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
PPTX
Fun tech13-alibaba cloud serverless kubernetes
PPTX
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
PDF
5分でできる ebfly
PDF
Elasticbeanstalk で Ansible を使っている話
PDF
ReactNativeを語る勉強会
PDF
Behind-the-Scenes and Goals of LINE Summer Internship Program
PDF
知られざる、Alibaba Cloudを支えるオープンソース
PPTX
Visual Studio 2019 Updates Pickup!
PDF
JAWS-UG京王線#1業務で使うAWSCLI
PPTX
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
PDF
「サーバレスの薄い本」からの1年 #serverlesstokyo
テックブログのすゝめ -アウトプットで知識習得サイクルを回そう-
知られざる。Alibaba Cloudを支えるテクノロジー (manabiya.tech)
Awsjpcasestudies
AWS EC2の自動リブート
面白いは正義
JAWS DAYS 2017直前! AWS総復習
DevLove Kansai AWS
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
Fun tech13-alibaba cloud serverless kubernetes
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
5分でできる ebfly
Elasticbeanstalk で Ansible を使っている話
ReactNativeを語る勉強会
Behind-the-Scenes and Goals of LINE Summer Internship Program
知られざる、Alibaba Cloudを支えるオープンソース
Visual Studio 2019 Updates Pickup!
JAWS-UG京王線#1業務で使うAWSCLI
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
「サーバレスの薄い本」からの1年 #serverlesstokyo
Ad

Similar to Alibaba Cloudが1万個のKubernetesクラスタを管理する方法 (20)

PDF
virtual-kubeletってなんだ?Alibaba Cloudで動かしてみよう
PDF
Welcome to AlibabaCloud -もう一つのインターネット世界のクラウドが世界へでる-
PDF
AliEaters meetup#1 ド派手ダッシュボードDataVで遊んでみよう
PDF
Fun tech#14 AlibabaCloud - EDAS(Enterprise Distributed Application Service)
PDF
sakura.io と Alibaba Cloud が繋がらない! そのとき 救世主 enebular が現れた
PDF
AlibabaCloudの紹介とパブリッククラウドでのセキュリティ
PPTX
AWS活用のいままでとこれから -東急ハンズの事例-
PDF
DockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけ
PDF
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
PDF
AlibabaCloudではじめるKubernetes
PDF
Kubernetesにまつわるエトセトラ(主に苦労話)
PDF
MasterCloud Docker Hands-on 20170725
PDF
20240625AliEaters#30-Alibaba CloudとAWSの比較.pptx.pdf
PDF
温故知新、Static Web のサイトを構築しよう
PDF
Kubernetes 導入から始める DevOps について
PDF
はじめての Rails アプリ開発
PDF
KubeFlowでどこまでいける?
PDF
ざっくり始めるCloud Native開発
PDF
謎のAlibaba Cloud認定資格と那須ブートキャンプの報告.pdf
PDF
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
virtual-kubeletってなんだ?Alibaba Cloudで動かしてみよう
Welcome to AlibabaCloud -もう一つのインターネット世界のクラウドが世界へでる-
AliEaters meetup#1 ド派手ダッシュボードDataVで遊んでみよう
Fun tech#14 AlibabaCloud - EDAS(Enterprise Distributed Application Service)
sakura.io と Alibaba Cloud が繋がらない! そのとき 救世主 enebular が現れた
AlibabaCloudの紹介とパブリッククラウドでのセキュリティ
AWS活用のいままでとこれから -東急ハンズの事例-
DockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけ
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
AlibabaCloudではじめるKubernetes
Kubernetesにまつわるエトセトラ(主に苦労話)
MasterCloud Docker Hands-on 20170725
20240625AliEaters#30-Alibaba CloudとAWSの比較.pptx.pdf
温故知新、Static Web のサイトを構築しよう
Kubernetes 導入から始める DevOps について
はじめての Rails アプリ開発
KubeFlowでどこまでいける?
ざっくり始めるCloud Native開発
謎のAlibaba Cloud認定資格と那須ブートキャンプの報告.pdf
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
Ad

More from Shinya Mori (@mosuke5) (11)

PDF
効果を出すためのクラウドネイティブDevOpsの道のり
PDF
アジャイルプラクティスは家庭内のコミュニケーションもカイゼンできちゃうのか?
PDF
Encouragin you to write technology blogs
PDF
virtual-kubeletで OSSとマネージドサービスの いいとこ取りを考える 〜新人の独り言〜
PDF
Double 11を支えるApsaraDB for Redis (AliEaters #8)
PDF
Global Network on Alibaba Cloud
PDF
クラウドエンジニアがどう英語と向き合うか考えた
PDF
【LT用前編】Rancherでマルチクラウド をやってみた
PDF
授業用Twitterクライアント・アーカイブシステムの開発とその評価
PDF
くっくる資料
効果を出すためのクラウドネイティブDevOpsの道のり
アジャイルプラクティスは家庭内のコミュニケーションもカイゼンできちゃうのか?
Encouragin you to write technology blogs
virtual-kubeletで OSSとマネージドサービスの いいとこ取りを考える 〜新人の独り言〜
Double 11を支えるApsaraDB for Redis (AliEaters #8)
Global Network on Alibaba Cloud
クラウドエンジニアがどう英語と向き合うか考えた
【LT用前編】Rancherでマルチクラウド をやってみた
授業用Twitterクライアント・アーカイブシステムの開発とその評価
くっくる資料

Alibaba Cloudが1万個のKubernetesクラスタを管理する方法