SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
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 loft@192.168.3.5
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
BareMetal192.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
Canary Release に使えそう︕ review v2 (⿊い星)
Fault Injection (delay )
Injected
Delay : 7sec
https://istio.io/docs/examples/bookinfo/
Demo
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/
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
review v2のレスポンス(⿊い星)
reload
review v3のレスポンス(⾚い星)

Mais conteúdo relacionado

Mais procurados

Redunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPCRedunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPC
Masaaki HIROSE
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
kubo39
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも-
Yusaku Watanabe
 

Mais procurados (20)

Using rump on NetBSD 7.0
Using rump on NetBSD 7.0Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
 
Introduction to Ostinato , network packet crafting and generator.
Introduction to Ostinato, network packet crafting and generator.Introduction to Ostinato, network packet crafting and generator.
Introduction to Ostinato , network packet crafting and generator.
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
 
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Diveほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
 
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
軽量高機能webサーバーnginx
軽量高機能webサーバーnginx軽量高機能webサーバーnginx
軽量高機能webサーバーnginx
 
Redunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPCRedunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPC
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
 
Lagopus 0.2.2
Lagopus 0.2.2Lagopus 0.2.2
Lagopus 0.2.2
 
Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版
 
Nbug201503
Nbug201503Nbug201503
Nbug201503
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
 
Lxc on cloud
Lxc on cloudLxc on cloud
Lxc on cloud
 
シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも-
 

Semelhante a Traffic Management with Istio ( with Demo )

仮想スイッチをフェイルオーバーさせてみる予定
仮想スイッチをフェイルオーバーさせてみる予定仮想スイッチをフェイルオーバーさせてみる予定
仮想スイッチをフェイルオーバーさせてみる予定
Takashi Naito
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
 
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
milk hanakara
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
Masakazu Asama
 

Semelhante a Traffic Management with Istio ( with Demo ) (20)

OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
 
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ- 100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
仮想スイッチをフェイルオーバーさせてみる予定
仮想スイッチをフェイルオーバーさせてみる予定仮想スイッチをフェイルオーバーさせてみる予定
仮想スイッチをフェイルオーバーさせてみる予定
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
さくらで始める機械学習のための計算資源
さくらで始める機械学習のための計算資源さくらで始める機械学習のための計算資源
さくらで始める機械学習のための計算資源
 
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介
 
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
 
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門
 
もっとも簡単なKubernetes構築 on Raspberry pi (July tech festa winter 2021)
もっとも簡単なKubernetes構築 on Raspberry pi  (July tech festa winter 2021)もっとも簡単なKubernetes構築 on Raspberry pi  (July tech festa winter 2021)
もっとも簡単なKubernetes構築 on Raspberry pi (July tech festa winter 2021)
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
 
AlibabaCloudではじめるKubernetes
AlibabaCloudではじめるKubernetesAlibabaCloudではじめるKubernetes
AlibabaCloudではじめるKubernetes
 
Cmc cmd slim
Cmc cmd slimCmc cmd slim
Cmc cmd slim
 

Mais de ロフト くん

OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
 OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました! OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
ロフト くん
 

Mais de ロフト くん (9)

OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
 OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました! OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
 
Demo of write slides and books with VSCode + Markdown
Demo of write slides and books with VSCode + MarkdownDemo of write slides and books with VSCode + Markdown
Demo of write slides and books with VSCode + Markdown
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdown
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
 
Kubernetes The Hard Way をやってみた
Kubernetes The Hard Way をやってみたKubernetes The Hard Way をやってみた
Kubernetes The Hard Way をやってみた
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Python
 
AbemaTVのコメントビューアを作る話
AbemaTVのコメントビューアを作る話AbemaTVのコメントビューアを作る話
AbemaTVのコメントビューアを作る話
 
Enjoying k8s cluster with Minikube and Helm
Enjoying k8s cluster with Minikube and HelmEnjoying k8s cluster with Minikube and Helm
Enjoying k8s cluster with Minikube and Helm
 

Último

Último (12)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Traffic Management with Istio ( with Demo )