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
Traffic Management with Istio ( with Demo )
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
loftkun
August 08, 2019
Technology
0
660
Traffic Management with Istio ( with Demo )
2019/08/08 Thu
Cloud Native FUKUOKA #02 - connpass
https://cnjp.connpass.com/event/139837/
loftkun
August 08, 2019
Tweet
Share
More Decks by loftkun
See All by loftkun
OpenShiftのリリースノートを整理してみた
loftkun
2
2.8k
OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
loftkun
1
2.6k
Demo of write slides and books with VSCode + Markdown
loftkun
1
740
Write slides and books in VSCode + Markdown
loftkun
5
2.6k
OpenShift from Easy way to Hard ? Way
loftkun
1
1.9k
Kubernetes The Hard Way をやってみた
loftkun
2
560
Operator reading and writing with Operator SDK
loftkun
1
360
HPA with custom metrics
loftkun
1
2.3k
Getting Started with Graph Database with Python
loftkun
1
690
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
380
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
320
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
270
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
690
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
710
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
140
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Six Lessons from altMBA
skipperchong
29
4.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Discover your Explorer Soul
emna__ayadi
2
1.1k
30 Presentation Tips
portentint
PRO
1
220
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
Statistics for Hackers
jakevdp
799
230k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Designing for humans not robots
tammielis
254
26k
Transcript
Traffic Management with Istio ( with Demo ) 2019/08/08 Cloud
Native FUKUOKA #02 loftkun
About me • @loftkun • ヤフー株式会社 SRE部 • 将棋好き •
対局結果検索サイトなど公開してます • ⾳楽好き • ROCK IN JAPAN FESTIVAL ⾏きます • ピアノ習いたい • コンテナ好き、k8sは前職で使ってた、現職でも使いたい
My k8s Environment
Machine CPU Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz 6Core/12Threads RAM
64GB OS Ubuntu 17.10 k8s minikube v1.2.0 ( Kubernetes v1.15.0 ) assign 12cpu & 40GB RAM kubectl v1.15.0 istio v1.2.2 helm v2.14.1
minikube start vm-driver=virtualbox Container VM ( Node ) Minikube BareMetal
ssh -fNL 12345:192.168.99.100:12345
[email protected]
192.168.3.5 grafana service のnodePortが12345の場合 http://localhost:12345 でアクセスできるぞ 192.168.99.100 192.168.3.4 Minikube ssh でログイン可能
minikube start vm-driver=none Container Minikube BareMetal 192.168.3.5 ( Node )
grafana service のnodePortが12345の場合 http://192.168.3.5:12345 でアクセスできるぞ 192.168.3.4 tcpdump –i docker0 全Pod間の通信をキャプチャできるぞ
Agenda Introduction How to use Bookinfo Traffic Management
Introduction What is Istio?
https://istio.io/ • サービスメッシュを構成するOSS • CNCF Platinum Member • Proxyコンテナ(Envoy)をSidecarとしてPod内にInjectionしてくれる •
様々な制御をkubectl applyできる(後ほどご紹介) • 便利なOSS同梱 • メトリクス (Prometheus/Grafana) • トレース (Jaeger/Zipkin) • サービスメッシュグラフの可視化(Kiali)
https://github.com/cncf/trailmap
https://github.com/cncf/trailmap
How to use Install à Sidecar Injection à Apply traffic
rules
3 steps Install Sidecar Injection Apply traffic rules
Install Use Helm? $ kubectl apply istio-demo.yaml Cluster has tiller?
$ helm template istio | kubectl apply $ helm install istio Y Y おすすめはHelm使⽤。パラメタ設定が楽。 • incubator/istioはメンテが⽌まってるので使わない • istio.ioのdoc記載の最新版をdownloadして使おう N N
Sidecar Injection Manual istioctl kube-injectコマンドでSidecarを埋め込んだmanifestを出⼒する $ kubectl apply -f <
( istioctl kube-inject -f my-manifests.yaml ) Automatic 対象のnamespaceにラベルを設定しておくだけでOK! $ kubectl label ns my-ns istio-injection=enabled
Apply traffic rules kubectl apply –f my-virtualservice.yaml • VirtualService •
a set of traffic routing rules • 宛先別に様々なruleを設定できる Istio setup is done, Letʼs Traffic Management !
Bookinfo Istioが提供するサンプルアプリ
Architecture https://istio.io/docs/examples/bookinfo/ load balancing ( by reviews service )
Demo
Traffic Management Routing, Fault Injection, etc
Request Routing https://istio.io/docs/examples/bookinfo/
Demo
review v1 (星なし)
Request Routing ( by header ) https://istio.io/docs/examples/bookinfo/
Demo
None
Canary Release に使えそう︕ review v2 (⿊い星)
Fault Injection (delay ) Injected Delay : 7sec https://istio.io/docs/examples/bookinfo/
Demo
None
https://istio.io/docs/examples/bookinfo/
hard-corded Timeout : 10sec Injected Delay : 7sec https://istio.io/docs/examples/bookinfo/
hard-corded Timeout : 3sec Retry : 1 hard-corded Timeout :
10sec Injected Delay : 7sec Chaos Engineering に使えそう︕ https://istio.io/docs/examples/bookinfo/
None
Other Traffic Managements • Traffic Shifting • Circuit Breaking •
Mirroring and more ! https://istio.io/docs/tasks/traffic-management/
Appendix
なぜヨット︖
いろいろ船関連だった Kubernetes 操舵手(ギリシャ語) Helm 舵 tiller 舵柄(かじを操作するレバー) Istio 帆(ギリシャ語) Spinnaker
大きな三角形の帆
Thank you for listening ! 福岡新着ITイベント @ITEventFukuoka
Appendix : commands for demo with my home k8s
ssh config • ~/.ssh/config • ログイン ssh my-k8s
ssh port forwarding INGRESS_HOST=192.168.99.100 INGRESS_PORT=31380 ssh -fNL ${INGRESS_PORT}:${INGRESS_HOST}:${INGRESS_PORT} my-k8s •
ローカルの31380ポートをnode(MinikubeのVM) 内の 31380ポートにforwarding • BookInfoは localhost:31380/productpage で⾒れる
ref • Request Routing • https://istio.io/docs/tasks/traffic-management/request-routing/ • Fault Injection •
https://istio.io/docs/tasks/traffic-management/fault-injection/
Appendix : BookInfo screenshot
review v1のレスポンス
reload
None
review v2のレスポンス(⿊い星)
reload
None
review v3のレスポンス(⾚い星)