SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Masaya Aoyama
CyberAgent adtech studio
Based on 「Performance and Scale @Istio Service Mesh」
by Fawad Khaliq, VMware Inc, Laurent Demailly, Google & Surya V Duggirala, IBM
KubeCon Recap for Istio
@Kubernetes Meetup #11
MasayaAoyama @amsy810
連載「今こそ始めよう!Kubernetes 入門」 @ThinkIT
Japan Container Days v18.04 Keynote 登壇
CKA (CKA-1700-0138-0100)、CKAD (CKAD-1800-0002-0100)
OpenStack Active Technical Contributor
Masaya Aoyama (@amsy810)
Infrastructure Engineer
日本からは 45 名〜が参加
(2016 EU 3 名〜、2017 NA: 33 名〜)
日本交流会@コペンハーゲン現
地
Today’s
Agenda
01 Overview
Performance and Scale @Istio Service Mesh
02 Release Status and Phase
Release system (alpha, beta and stable)
and status of each feature
03 Latency with Container NW
Container vs Legacy VM
network latencies
Index >
What is Istio?
Istio Performance and Scalability WG
What is Fortio?
Istio Release History
Max Query per Seconds
Latencies (400 qps)
Overview
Micro Service Archtecture
App a App b App c
Deployment a Deployment b Deployment c
Pod
各 Application から
数珠つなぎで呼び出される
Istio Archtecture
Pilot Mixer Istio-Auth
Envoy
App a
Envoy
App b
Envoy
App c
Deployment a Deployment b Deployment c
Pod
Data Plane
Control Plane
Envoy (C++)
全てのトラフィックを中継し
Service Mesh を構成する
動的ルート設定によるサービス間の柔軟なトラフィック制御が可能
例: A/B Testing、Canary Release、Blue-Green
1
Intelligent Routing and Load Balancing
ネットワーク障害やカスケード障害からアプリケーションを保護
例: Timeout、Retry、Connection Limit、Circuit Breaker
2
Resilience across Languages and Platforms
サービス間の依存関係やトラフィックの性質・流れをモニタリング
し、
分散トレース問題を素早く特定
3
In-depth Telemetry and Reporting
サービス間の相互作用にポリシーを適用し、
全体に対して公正かつ確実なポリシー反映を行う
4
Fleet Wide Policy Enforcement
What is Istio?
クラスタ内の Service 間認証、暗号化通信をサポート5
Secure service-to-service authentication
Istio Performance and Scalability Working Group
Benchmark
様々な方法・環境でベンチマークを実施(Fortio, Blueperf,
etc)
詳しくは http://sched.co/Dquf
WG Meetings: Wednesdays 9:30-10:00 PST – Weekly
Forum: istio-perf@
Ref: https://github.com/istio/community/blob/master/WORKING-GROUPS.md#performance-and-
scalability
• 外部依存性なし
• 3 Mbyte Docker Image / CLI
• Httpbin に類似した機能を持つ
1
Lightweight
• 単一ノードの自己テストで 400,000 qps
2
High Performance
• 簡単なグラフ作成
• データの可視化
• 探索
3
Visualization
• Latency をもたせた状態でQPSを制御可能
4
QPS
What is Fortio?
Istio
Release
History
// based on GithHub releases
0.3.02017-11
0.4.02017-12
0.5.12018-01
0.6.02018-02
0.7.1 (latest)2018-03
Istio
Release
History
// based on GithHub releases
0.3.02017-11
0.4.02017-12
0.5.12018-01
0.6.02018-02
0.7.1 (latest)2018-03
MaxQueryperSecondsLatencies(400qps)
0.5.1 0.6.0 0.7.1
Max Query per Seconds (qps)
[QPS]
0.5.1: 700 qps
0.6.0: 1000 qps
0.7.1: 1700 qps
p99
p90
MaxQueryperSecondsLatencies(400qps)
0.5.1 0.6.0 0.7.1
Latencies (400 qps)
[Median (p50)]
0.5.1: 34 ms
0.6.0: 19 ms
0.7.1: 14 ms
p99
p90
p75
MaxQueryperSecondsLatencies(400qps)
Latencies (400 qps)
Histgram Count
Cumulative
0.5.1 0.7.1
Release Status and Phase
Index >
Future Phase Definition
Istio Features
• Alpha: デモ用途、一部制限有り
• Beta: プロダクション利用可能
• Stable: 信頼性の高い状態
1
Purpose
• Alpha: 下位互換性の保証なし
• Beta: APIのバージョン管理
• Stable: 高信頼、下位互換性の維持
2
API
• Alpha: 定量化や保証はなし
• Beta: 定量化や保証はなし
• Stable: 定量化され、記録・保証され
る
3
Performance
• Alpha: なし
• Beta: 3 ヶ月の期間
• Stable: 1 年間の期間
4
Deprecation Policy
Feature Phase Definition
Ref. https://istio.io/about/feature-stages.html
Istio Features
Traffic Management
state of
Protocols: HTTP 1.1
Protocols: HTTP 2.0
Protocols: gRPC
Core
state of
Observability
Prometheus Integration
Statsd Integration
Existing features and their current phases
Security
state of
Deny Checker
K8s Service
Credential Distribution
Pluggable Key/Cert
Support for Istio CA
Protocols: TCP
Protocols: WebSocket
Routing Rules: Retry
Routing Rules: Timeout
Routing Rules: Circuit Break
Routing Rules: Header Rewrite
Routing Rules: Traffic Splitting
Ingress TLS
K8s: Envoy Installation
and Traffic Interception
K8s: Istio Control Plane Installation
Pillot Integration into
K8s Service Discovery
Attribute Expression Language
Mixer Adapter Authoring Model
K8s: Istio Control Pnane Upgrade
Basic Config Resource Validation
state of
Local Logging
Service Dashboard in Grafana
Stackdriver Integration
Service Graph
Stable
Beta
Alpha
Ref. https://istio.io/about/feature-stages.html
Latency with Container NW
Index >
What is Istio?
Istio Performance and Scalability WG
What is Fortio?_
Istio Release History
Max Query per Seconds
Latencies (400 qps)
Do you know
Container Network
Latency?
?
// latency (Nginx on VM)
Nginx on VM
従来と同じ方法で VM 上に
Nginx プロセスを立ち上げた場合
Node Node
LoadBalancer
Connections 50 percentile 99 percentile Through put
100 conn 3 ms 7 ms 27000 rps
1000 conn 30 ms 70 ms 32900 rps
10000 conn 384 ms 460 ms 25700 rps
Case 1
External Network
Kubernetes Node Kubernetes Node
LoadBalancer
(1) Traffic が LoadBalancer に届き、
各 Kubernetes Node 宛に負荷分散される
Nginx on K8s
Case 2
Kubernetes 上に Nginx Container を含む
Pod を作成し、”type: LoadBalancer”
Service を作成した場合
Pod Network
External Network
Kubernetes Node Kubernetes Node
Pod Network
External Network
LoadBalancer
(2) Node 上の iptables* で
各 Kubernetes Node 宛に負荷分散される
Nginx on K8s
Ref. https://kubernetes.io/docs/concepts/services-networking/service/
01
Userspace 上の Process が処理
userspace
02
Iptables が処理
kube-proxy は iptables の entry を書き換え
iptables (K8s v1.1~, v1.2~ default)
03
ivps が処理、LoadBalancing 性能の向上
Kernel の rebuild が必要 (hash table size)
ipvs (k8s v1.8~)
* Proxy-mode の選択肢
Case 2
Kubernetes 上に Nginx Container を含む
Pod を作成し、”type: LoadBalancer”
Service を作成した場合
Connections 50 percentile 99 percentile Through put
100 conn 6 ms (+ 100 %) 7 ms (+ 0 %) 18000 rps (- 33 %)
1000 conn 61ms (+ 103 %) 69 ms (- 1.4 %) 16700 rps (- 49 %)
10000 conn 641 ms (+ 66 %) 666 ms (+ 44 %) 15700 rps (- 39 %)
// latency (Nginx on K8s) [Compare with Nginx on VM]
Nginx on K8s
Kubernetes Node Kubernetes Node
LoadBalancer
Case 2
Pod Network
External Network
Kubernetes 上に Nginx Container を含む
Pod を作成し、”type: LoadBalancer”
Service を作成した場合
01
02
Istio Latency
v.0.5.0 > v.0.7.1
Throughput が + 142 %
Latency (p50) が - 59 %
そろそろ Beta feature は安
定してきている?
K8s Latency
Latency Overhead
VM < K8s
Proxy-mode: ipvs による性
能向上に期待
軽微な Overhead はある
Conclusion
of
my presentations
Today’s talk is helpful and useful for us?
Cloud Native for the future
アプリケーション基盤としての Kubernetes
従来通りコンテナを載せて Scalable なアプリケーションの実行環境
フレームワークとしての Kubernetes
Kubernetes の Custom Resource Definition を使った開発
Custom Controller による API Resource のライフサイクル管理
watch, list, add, delete, apply, leader-election 機能の利用
プラットフォームとしての Kubernetes
マネージドサービス基盤としての Kubernetes
Vitess, Rook, NATS, Kubeflow では、create することで各 XaaS が立ち上がる
Do you have any questions?
@amsy810
Thank you for your attention.

Weitere ähnliche Inhalte

Was ist angesagt?

Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...Masaya Aoyama
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)NTT DATA Technology & Innovation
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Go Chiba
 
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話Masaki Yamamoto
 
20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要Airi Furukawa
 
Magnum - A new OpenStack API for Containers -
Magnum - A new OpenStack API for Containers -Magnum - A new OpenStack API for Containers -
Magnum - A new OpenStack API for Containers -Takehiro Kaneko
 
Clovaにおける機械学習モジュールの配信&運用基盤の紹介
Clovaにおける機械学習モジュールの配信&運用基盤の紹介Clovaにおける機械学習モジュールの配信&運用基盤の紹介
Clovaにおける機械学習モジュールの配信&運用基盤の紹介LINE Corporation
 
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南Google Cloud Platform - Japan
 
Rancher2.0で実現する Managed Kubernetes Service
Rancher2.0で実現する Managed Kubernetes ServiceRancher2.0で実現する Managed Kubernetes Service
Rancher2.0で実現する Managed Kubernetes ServiceLINE Corporation
 
Knative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみたKnative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみたHideaki Aoyagi
 
Githubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようGithubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようShingo Omura
 
DockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけ
DockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけDockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけ
DockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけShinya Mori (@mosuke5)
 
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Samir Hammoudi
 
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料VirtualTech Japan Inc.
 
Container Storage Interface のすべて
Container Storage Interface のすべてContainer Storage Interface のすべて
Container Storage Interface のすべて祐司 伊藤
 
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...VirtualTech Japan Inc.
 
Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Yu Amano
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingKazuto Kusama
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理Yuki Yamashita
 

Was ist angesagt? (20)

Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活
 
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話
 
20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要
 
Magnum - A new OpenStack API for Containers -
Magnum - A new OpenStack API for Containers -Magnum - A new OpenStack API for Containers -
Magnum - A new OpenStack API for Containers -
 
Clovaにおける機械学習モジュールの配信&運用基盤の紹介
Clovaにおける機械学習モジュールの配信&運用基盤の紹介Clovaにおける機械学習モジュールの配信&運用基盤の紹介
Clovaにおける機械学習モジュールの配信&運用基盤の紹介
 
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
 
Rancher2.0で実現する Managed Kubernetes Service
Rancher2.0で実現する Managed Kubernetes ServiceRancher2.0で実現する Managed Kubernetes Service
Rancher2.0で実現する Managed Kubernetes Service
 
Knative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみたKnative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみた
 
Githubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようGithubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみよう
 
DockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけ
DockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけDockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけ
DockerMeetup#26 LT: Alibaba Cloudのコンテナ関連についてちょっとだけ
 
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
 
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
 
Lattice深掘り話
Lattice深掘り話Lattice深掘り話
Lattice深掘り話
 
Container Storage Interface のすべて
Container Storage Interface のすべてContainer Storage Interface のすべて
Container Storage Interface のすべて
 
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
 
Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理
 

Ähnlich wie KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11

OpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateOpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateHirofumi Ichihara
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたHideaki Aoyagi
 
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towardsAkihiro Motoki
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on AzureYoshio Terada
 
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseOpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseToshikazu Ichikawa
 
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGOSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGHideki Saito
 
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
AWS Black Belt Techシリーズ  AWS  Elastic  BeanstalkAWS Black Belt Techシリーズ  AWS  Elastic  Beanstalk
AWS Black Belt Techシリーズ AWS Elastic BeanstalkAmazon Web Services Japan
 
OCP Serverを用いた OpenStack Containerの検証
 OCP Serverを用いたOpenStack Containerの検証 OCP Serverを用いたOpenStack Containerの検証
OCP Serverを用いた OpenStack Containerの検証Takashi Sogabe
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsYoshio Terada
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Akihiro Motoki
 
OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告Mitsuhiro SHIGEMATSU
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみたKatsutoshi Nagaoka
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Shinichiro Arai
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」Nobuyuki Tamaoki
 
Kubernetes on Alibaba Cloud
Kubernetes on Alibaba CloudKubernetes on Alibaba Cloud
Kubernetes on Alibaba Cloud真吾 吉田
 
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessionsOpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessionsAkihiro Motoki
 
AWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native BusinessAWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native BusinessAmazon Web Services Japan
 
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらインターネット株式会社
 

Ähnlich wie KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11 (20)

OpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateOpenStack Project Update Neutron Update
OpenStack Project Update Neutron Update
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on Azure
 
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseOpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
 
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGOSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUG
 
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
AWS Black Belt Techシリーズ  AWS  Elastic  BeanstalkAWS Black Belt Techシリーズ  AWS  Elastic  Beanstalk
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
 
OCP Serverを用いた OpenStack Containerの検証
 OCP Serverを用いたOpenStack Containerの検証 OCP Serverを用いたOpenStack Containerの検証
OCP Serverを用いた OpenStack Containerの検証
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)
 
OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみた
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
 
Kubernetes on Alibaba Cloud
Kubernetes on Alibaba CloudKubernetes on Alibaba Cloud
Kubernetes on Alibaba Cloud
 
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessionsOpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
 
AWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native BusinessAWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native Business
 
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
 

KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11

  • 1. Masaya Aoyama CyberAgent adtech studio Based on 「Performance and Scale @Istio Service Mesh」 by Fawad Khaliq, VMware Inc, Laurent Demailly, Google & Surya V Duggirala, IBM KubeCon Recap for Istio @Kubernetes Meetup #11 MasayaAoyama @amsy810
  • 2. 連載「今こそ始めよう!Kubernetes 入門」 @ThinkIT Japan Container Days v18.04 Keynote 登壇 CKA (CKA-1700-0138-0100)、CKAD (CKAD-1800-0002-0100) OpenStack Active Technical Contributor Masaya Aoyama (@amsy810) Infrastructure Engineer
  • 3. 日本からは 45 名〜が参加 (2016 EU 3 名〜、2017 NA: 33 名〜) 日本交流会@コペンハーゲン現 地
  • 4. Today’s Agenda 01 Overview Performance and Scale @Istio Service Mesh 02 Release Status and Phase Release system (alpha, beta and stable) and status of each feature 03 Latency with Container NW Container vs Legacy VM network latencies
  • 5. Index > What is Istio? Istio Performance and Scalability WG What is Fortio? Istio Release History Max Query per Seconds Latencies (400 qps) Overview
  • 6. Micro Service Archtecture App a App b App c Deployment a Deployment b Deployment c Pod 各 Application から 数珠つなぎで呼び出される
  • 7. Istio Archtecture Pilot Mixer Istio-Auth Envoy App a Envoy App b Envoy App c Deployment a Deployment b Deployment c Pod Data Plane Control Plane Envoy (C++) 全てのトラフィックを中継し Service Mesh を構成する
  • 8. 動的ルート設定によるサービス間の柔軟なトラフィック制御が可能 例: A/B Testing、Canary Release、Blue-Green 1 Intelligent Routing and Load Balancing ネットワーク障害やカスケード障害からアプリケーションを保護 例: Timeout、Retry、Connection Limit、Circuit Breaker 2 Resilience across Languages and Platforms サービス間の依存関係やトラフィックの性質・流れをモニタリング し、 分散トレース問題を素早く特定 3 In-depth Telemetry and Reporting サービス間の相互作用にポリシーを適用し、 全体に対して公正かつ確実なポリシー反映を行う 4 Fleet Wide Policy Enforcement What is Istio? クラスタ内の Service 間認証、暗号化通信をサポート5 Secure service-to-service authentication
  • 9. Istio Performance and Scalability Working Group Benchmark 様々な方法・環境でベンチマークを実施(Fortio, Blueperf, etc) 詳しくは http://sched.co/Dquf WG Meetings: Wednesdays 9:30-10:00 PST – Weekly Forum: istio-perf@ Ref: https://github.com/istio/community/blob/master/WORKING-GROUPS.md#performance-and- scalability
  • 10. • 外部依存性なし • 3 Mbyte Docker Image / CLI • Httpbin に類似した機能を持つ 1 Lightweight • 単一ノードの自己テストで 400,000 qps 2 High Performance • 簡単なグラフ作成 • データの可視化 • 探索 3 Visualization • Latency をもたせた状態でQPSを制御可能 4 QPS What is Fortio?
  • 11. Istio Release History // based on GithHub releases 0.3.02017-11 0.4.02017-12 0.5.12018-01 0.6.02018-02 0.7.1 (latest)2018-03
  • 12. Istio Release History // based on GithHub releases 0.3.02017-11 0.4.02017-12 0.5.12018-01 0.6.02018-02 0.7.1 (latest)2018-03
  • 13. MaxQueryperSecondsLatencies(400qps) 0.5.1 0.6.0 0.7.1 Max Query per Seconds (qps) [QPS] 0.5.1: 700 qps 0.6.0: 1000 qps 0.7.1: 1700 qps p99 p90
  • 14. MaxQueryperSecondsLatencies(400qps) 0.5.1 0.6.0 0.7.1 Latencies (400 qps) [Median (p50)] 0.5.1: 34 ms 0.6.0: 19 ms 0.7.1: 14 ms p99 p90 p75
  • 16. Release Status and Phase Index > Future Phase Definition Istio Features
  • 17. • Alpha: デモ用途、一部制限有り • Beta: プロダクション利用可能 • Stable: 信頼性の高い状態 1 Purpose • Alpha: 下位互換性の保証なし • Beta: APIのバージョン管理 • Stable: 高信頼、下位互換性の維持 2 API • Alpha: 定量化や保証はなし • Beta: 定量化や保証はなし • Stable: 定量化され、記録・保証され る 3 Performance • Alpha: なし • Beta: 3 ヶ月の期間 • Stable: 1 年間の期間 4 Deprecation Policy Feature Phase Definition Ref. https://istio.io/about/feature-stages.html
  • 18. Istio Features Traffic Management state of Protocols: HTTP 1.1 Protocols: HTTP 2.0 Protocols: gRPC Core state of Observability Prometheus Integration Statsd Integration Existing features and their current phases Security state of Deny Checker K8s Service Credential Distribution Pluggable Key/Cert Support for Istio CA Protocols: TCP Protocols: WebSocket Routing Rules: Retry Routing Rules: Timeout Routing Rules: Circuit Break Routing Rules: Header Rewrite Routing Rules: Traffic Splitting Ingress TLS K8s: Envoy Installation and Traffic Interception K8s: Istio Control Plane Installation Pillot Integration into K8s Service Discovery Attribute Expression Language Mixer Adapter Authoring Model K8s: Istio Control Pnane Upgrade Basic Config Resource Validation state of Local Logging Service Dashboard in Grafana Stackdriver Integration Service Graph Stable Beta Alpha Ref. https://istio.io/about/feature-stages.html
  • 19. Latency with Container NW Index > What is Istio? Istio Performance and Scalability WG What is Fortio?_ Istio Release History Max Query per Seconds Latencies (400 qps)
  • 20. Do you know Container Network Latency? ?
  • 21. // latency (Nginx on VM) Nginx on VM 従来と同じ方法で VM 上に Nginx プロセスを立ち上げた場合 Node Node LoadBalancer Connections 50 percentile 99 percentile Through put 100 conn 3 ms 7 ms 27000 rps 1000 conn 30 ms 70 ms 32900 rps 10000 conn 384 ms 460 ms 25700 rps Case 1 External Network
  • 22. Kubernetes Node Kubernetes Node LoadBalancer (1) Traffic が LoadBalancer に届き、 各 Kubernetes Node 宛に負荷分散される Nginx on K8s Case 2 Kubernetes 上に Nginx Container を含む Pod を作成し、”type: LoadBalancer” Service を作成した場合 Pod Network External Network
  • 23. Kubernetes Node Kubernetes Node Pod Network External Network LoadBalancer (2) Node 上の iptables* で 各 Kubernetes Node 宛に負荷分散される Nginx on K8s Ref. https://kubernetes.io/docs/concepts/services-networking/service/ 01 Userspace 上の Process が処理 userspace 02 Iptables が処理 kube-proxy は iptables の entry を書き換え iptables (K8s v1.1~, v1.2~ default) 03 ivps が処理、LoadBalancing 性能の向上 Kernel の rebuild が必要 (hash table size) ipvs (k8s v1.8~) * Proxy-mode の選択肢 Case 2 Kubernetes 上に Nginx Container を含む Pod を作成し、”type: LoadBalancer” Service を作成した場合
  • 24. Connections 50 percentile 99 percentile Through put 100 conn 6 ms (+ 100 %) 7 ms (+ 0 %) 18000 rps (- 33 %) 1000 conn 61ms (+ 103 %) 69 ms (- 1.4 %) 16700 rps (- 49 %) 10000 conn 641 ms (+ 66 %) 666 ms (+ 44 %) 15700 rps (- 39 %) // latency (Nginx on K8s) [Compare with Nginx on VM] Nginx on K8s Kubernetes Node Kubernetes Node LoadBalancer Case 2 Pod Network External Network Kubernetes 上に Nginx Container を含む Pod を作成し、”type: LoadBalancer” Service を作成した場合
  • 25. 01 02 Istio Latency v.0.5.0 > v.0.7.1 Throughput が + 142 % Latency (p50) が - 59 % そろそろ Beta feature は安 定してきている? K8s Latency Latency Overhead VM < K8s Proxy-mode: ipvs による性 能向上に期待 軽微な Overhead はある Conclusion of my presentations Today’s talk is helpful and useful for us?
  • 26. Cloud Native for the future アプリケーション基盤としての Kubernetes 従来通りコンテナを載せて Scalable なアプリケーションの実行環境 フレームワークとしての Kubernetes Kubernetes の Custom Resource Definition を使った開発 Custom Controller による API Resource のライフサイクル管理 watch, list, add, delete, apply, leader-election 機能の利用 プラットフォームとしての Kubernetes マネージドサービス基盤としての Kubernetes Vitess, Rook, NATS, Kubeflow では、create することで各 XaaS が立ち上がる
  • 27. Do you have any questions? @amsy810 Thank you for your attention.