SlideShare a Scribd company logo
ぼうけんにでかけよう
Kubernetes KEDA
2019-12-14
Tsukasa Kato
Profile
• Tsukasa Kato / 加藤 司
• 株式会社オルターブース
テクニカルアーキテクト
• Microsoft MVP for Microsoft Azure
• https://tsukatoh.hatenablog.com/
• https://www.slideshare.net/tsukasakatou9
Agenda
• Kubernetes
• Kubernetes-based Serverless
• KEDA
上記を用いたFaaSを知っていただく
Kubernetes
Kubernetes
• コンテナーアプリケーションを管理するためのオーケスト
レーションツール
• 自動デプロイ、スケーリング、アプリ・コンテナーの運用
自動化
• Webコンソールが用意されており、GUIでの管理が可能
• Google が社内のオーケストレーションツール「Borg」を
元に開発
• CNCFに寄贈され管理されておりオープンソースで提供さ
れている
• マイクロサービスを構築する基盤として採用される事が多
い
Kubernetes Architecture
でもKubernetesって構築が面倒…
Kubernetes
managed
services
Google Kubernetes Engine
Azure Kubernetes Service
Amazon Elastic Container Service for Kubernetes
IBM Cloud Kubernetes Service
Alibaba Cloud Container Service for Kubernetes
Rancher
NetApp Kubernetes Service
そうは言ってもマスターノードだけが
マネージドでしょ?
Cluster Autoscaler
• 追加容量が必要になった場合は新しいノードが自動的に追
加され、不要になれば削除される
• 実行するワークロードの量に基づいてクラスタのサイズを
自動的に変更
• リソース制約のためにノードでスケジュールできないPod
を監視
• ノードプール単位で機能
• Horizontal Pod Autoscaler(HPA)と連携して機能してノー
ドとポッドの管理を行う
Horizontal Pod Autoscaler(HPA)
• Kubernetes クラスターのメトリック サーバーを使用して、
Podのリソースの需要をモニターし、 アプリケーションで
必要なリソースが増えるとその需要を満たすためにレプリ
ケーションコントローラー、デプロイ、レプリカセット内
のポッドの数を自動的にスケーリング
• また、リソースが不要になったときにスケールインできる
• Kubernetes 標準APIオブジェクトとコントローラとして実
装されている
Kubernetes-based
Serverless
Knative KEDA Virtual Kubelet
Kubernetes-based Serverless
Knative
• Serverless ワークロードをビルド、デプロイ、管理機能を提
供するKubernetesベースのプラットフォーム
• Scale-to-zero、自動
スケーリング、クラ
スタ内ビルド、
Kubernetes 上のク
ラウド ネイティブ
アプリケーション用
のイベント フレーム
ワークなどの機能が
ある
https://github.com/knative
Knative Components
Serving
•スケール
•カナリアリース
•ルーティング
•リクエスト受信
Building
•コンテナのビルド
•パッケージング
Eventing
•イベントソースの抽
象化
•コードの発火
Virtual Kubelet
• Kubeletの仮想実装で、汎用的にk8sクラスタから外部リソー
スを利用できる
• バースティングなど
を目的として利用す
るのがベター
• Microsoftが始めた
OSSプロジェクトで、
現在はCNCFによっ
て管理されている
https://github.com/virtual-kubelet/virtual-kubelet
Virtual
Kubelet
Alibaba Cloud ECI Provider
Azure Container Instances Provider
Azure Batch GPU Provider
AWS Fargate Provider
HashiCorp Nomad
OpenStack Zun
Serverless Container
Serverless Containers = Nodeless Containers
VM、クラスタ
(ノード)が不要
コンピュート課金
オンデマンド実行
可能
AWS FargateAzureContainer
Instances
Alibaba Elastic
Container Instance
KEDA
KEDA
(Kubernetes-based Event Driven Autoscaling Component)
K8sでイベント駆動型の
Podレベルオートスケールを可能にするフレームワーク
• Red HatとMicrosoftのエンジニアリングチームのコラボ
レーションの結果として開始されたプロジェクト
• Kubernetesクラスターにインストールしてイベントベース
のコンテナースケーリングを有効にすることができるオープ
ンソースコンポーネントとして定義される
• CPUメトリックスとメモリを活用してコンテナをゼロからス
ケーリングし、Kubernetes機能を拡張する
KEDAの特徴
イベント
ドリブン
オート
スケーリング
ビルトイン
スケーラー
複数のワーク
ロードタイプ
非ベンダー依存
Azure Functions
サポート
Architecture
• Scaler:選択したソースに接続
して、メトリックを読み取る
• Metrics adapter:Scalerに
よって読み取られたメトリック
をHorizontal Pod Autoscaler
に転送して、アプリの自動ス
ケーリングを有効にする
• Controller:0⇔1のスケーリン
グを提供する
https://keda.sh/concepts/overview/#how-keda-works
KEDA
• Kubernetesのスケーリング「Horizontal pod autoscaler
(HPA)」はPodのCPUやメモリ消費量で調整される
• KEDAは非HTTPなイベントに連動してクラスターへのデプロ
イを自動スケールできる
• HPAなどのKubernetesコンポーネントとネイティブに統合
され、クラウドとエッジの両方で実行できる
• KEDAがZero Scale in/outを行い、他はHPAがScale in/out
する
• 様々なスケーラーが用意されており、今後も追加予定
• MIT Licenseで提供され、CNCFへの登録も進められている
Scalers
Scalers
• Apache Kafka Topic
• AWS Cloudwatch
• AWS SQS Queue
• Azure Event Hubs
• Azure Service Bus
• Azure Storage Queue
• External
• Google Cloud Platform
Pub/Sub
• Huawei Cloudeye
• Liiklus Topic
• NATS Streaming
• Prometheus
• RabbitMQ Queue
• Redis Lists
KEDAを使用するには
以下の方法でデプロイすることで利用可能
• HelmでKEDAをデプロイ
→通常はこちら
• Kubectlでyamlからのデプロイ
→minikubeなどHelmを使わない場合はこちら
HelmでKEDAをデプロイ
1. Helm repoを追加
2. Helm repoをアップデート
3. KEDAのHelm chartをインストール
$ helm repo add kedacore https://kedacore.github.io/charts
$ helm repo update
$ helm install kedacore/keda --namespace keda --name keda
$ kubectl create namespace keda
$ helm install keda kedacore/keda --namespace keda
Helm 2.x
Helm 3.x
Kubectlでyamlからのデプロイ
1. Githubからサンプルをダウンロードしてインストール
https://github.com/kedacore/keda
$ kubectl create namespace keda
$ kubectl apply -f deploy/crds/keda.k8s.io_scaledobjects_crd.yaml
$ kubectl apply -f deploy/crds/keda.k8s.io_triggerauthentications_crd.yaml
$ kubectl apply -f deploy/
KEDAをデプロイ
• keda-operator podが追加される
Azure Functions Core Toolsのインストール
• Azure Functions Core Toolsをインストールすることで
Kubernetes上でAzure Functionsが利用可能となる
• 以前はスケールも自分での実装が必要だったが、KEDAを使
うことでスケールの実装が不要となった
• インストールするには以下のコマンドを投入する
※要作業端末へのAzure Functions Core Toolsインストール
$ func kubernetes install --namespace keda
Azure Functions Core Toolsをデプロイ
• kedaとosiris関連の podが追加される
DEMO
DEMO Architecture
Azure Kubernetes Service
Azure Storage Queue
まとめ
• KEDAはKubernetesの上で実行できるFaaS
• 各クラウドはもちろんオンプレミスでも実行が可能
• Virtual Kubelet + KEDAはバースティングな状況には向いて
いる
• KEDAはまだまだ発展途上のプロダクトなので今後に期待
• Serverlessの仕様が標準化され、ベンダーを意識しない世界
が来てほしい
ご清聴ありがとうございました

More Related Content

PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
PPTX
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
PPTX
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
インフラ廻戦 品川事変 前夜編
PDF
BuildKitの概要と最近の機能
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
コンテナ未経験新人が学ぶコンテナ技術入門
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
インフラ廻戦 品川事変 前夜編
BuildKitの概要と最近の機能

What's hot (20)

PPTX
Azure AD による Web API の 保護
PDF
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
PDF
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
PDF
Google Cloud で実践する SRE
PPTX
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
PDF
DevOps with Database on AWS
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
PDF
Ingress on Azure Kubernetes Service
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PDF
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
PPTX
こわくない!Azure 運用管理
PDF
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
PDF
AWSのログ管理ベストプラクティス
PPTX
「おうちクラウド」が今熱い!
PDF
Azure App Service Overview
PDF
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
PDF
インフラ野郎 Azureチーム at クラウド boost
PDF
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Azure AD による Web API の 保護
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
Google Cloud で実践する SRE
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
DevOps with Database on AWS
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Ingress on Azure Kubernetes Service
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
こわくない!Azure 運用管理
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
AWSのログ管理ベストプラクティス
「おうちクラウド」が今熱い!
Azure App Service Overview
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
インフラ野郎 Azureチーム at クラウド boost
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Ad

Similar to ぼうけんにでかけよう Kubernetes KEDA (20)

PDF
【サイボウズ インターンシップ2025】Kubernetes基盤開発コース説明資料
PPTX
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
PDF
Open Source x AI
PDF
Osc fukuoka xAI Meetup
PDF
kubernetes on Azure 最新情報
PDF
Serverless Architecture Overview #cdevc
PDF
CNCF Updates 2019 Winter version and Knative
PDF
Azure Kubernetes ServiceとCI/CD pipeline
PDF
Smart store servlerless-20191030-40min
PDF
Azure Vnet の拡張と強化
PPTX
俺とKubernetes
PDF
.NETアプリケーションのクラウド最適化
PDF
俺の Kubernetes Workflow with HashiStack
PDF
Azuredevopsakskeda
PDF
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
PDF
20190731 Azure Functions x Line at Azure Tech Lab #4
PDF
A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...
PDF
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
PDF
Microsoft azureで実装するwebserviceondocker
PPTX
Container x azure x kubernetes
【サイボウズ インターンシップ2025】Kubernetes基盤開発コース説明資料
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
Open Source x AI
Osc fukuoka xAI Meetup
kubernetes on Azure 最新情報
Serverless Architecture Overview #cdevc
CNCF Updates 2019 Winter version and Knative
Azure Kubernetes ServiceとCI/CD pipeline
Smart store servlerless-20191030-40min
Azure Vnet の拡張と強化
俺とKubernetes
.NETアプリケーションのクラウド最適化
俺の Kubernetes Workflow with HashiStack
Azuredevopsakskeda
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
20190731 Azure Functions x Line at Azure Tech Lab #4
A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Microsoft azureで実装するwebserviceondocker
Container x azure x kubernetes
Ad

More from Tsukasa Kato (20)

PDF
すぐにでも使える Windows Virtual Desktop
PDF
ニューノーマルな働き方!?Teams投稿をセンチメント分析!
PDF
WVD運用に欠かせない5つのポイント
PDF
ARM版Windows Virtual Desktop事始め
PDF
Container x AI
PDF
Power Automate with kintone
PDF
Azure DevOps と開発管理
PDF
Azure Private Linkのご紹介
PDF
マネージドBastion​ Azure Bastion​
PDF
SendGridを使ったスマホアプリ運用
PDF
よりお手軽なBotへ 〜APIで効率的なBotを〜
PDF
Container deployment on Azure
PDF
AKS+KEDAで実現!Container Functions Pipeline
PDF
Build2019発表情報一気見せ
PDF
俺のセキュリティを超えてゆけ
PDF
今後のContainerの行く末の感じたこと、思ったこと 〜JKD参加報告〜
PDF
Azure serverlesssummit2018
PDF
はたらく認証
PDF
Microservices and Servcie Mesh on Azure
PDF
あなたとわたしの仲介人♡サービスブローカー
すぐにでも使える Windows Virtual Desktop
ニューノーマルな働き方!?Teams投稿をセンチメント分析!
WVD運用に欠かせない5つのポイント
ARM版Windows Virtual Desktop事始め
Container x AI
Power Automate with kintone
Azure DevOps と開発管理
Azure Private Linkのご紹介
マネージドBastion​ Azure Bastion​
SendGridを使ったスマホアプリ運用
よりお手軽なBotへ 〜APIで効率的なBotを〜
Container deployment on Azure
AKS+KEDAで実現!Container Functions Pipeline
Build2019発表情報一気見せ
俺のセキュリティを超えてゆけ
今後のContainerの行く末の感じたこと、思ったこと 〜JKD参加報告〜
Azure serverlesssummit2018
はたらく認証
Microservices and Servcie Mesh on Azure
あなたとわたしの仲介人♡サービスブローカー

ぼうけんにでかけよう Kubernetes KEDA