さくらの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
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
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
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)
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