Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Istio Traffic Management

threetreeslight
November 10, 2018
16

Istio Traffic Management

2018-11-10-Istio Traffic Management on shinjuku mokumoku proguramming vol.21

threetreeslight

November 10, 2018
Tweet

Transcript

  1. Istio Tra c
    Management
    @threetreeslight
    on shinjuku mokumoku programming #21
    1 / 19

    View Slide

  2. Who
    VP of Engineering at
    最近は⼈事部⻑やEvent
    おじさんと揶揄されます
    Repro
    2 / 19

    View Slide

  3. 最近はtyping
    おじさんと
    まで
    3 / 19

    View Slide

  4. やっていきっ

    4 / 19

    View Slide

  5. 今⽇やること
    Istio pilot
    のresouce
    が多いので、そこらへんの調整
    Istio
    の設定、および監視の設定
    5 / 19

    View Slide

  6. できたこと
    Istio pilot
    のresouce
    が多いので、そこらへんの調整
    Istio
    の設定、および監視の設定
    6 / 19

    View Slide

  7. なにをしていたか
    GKE
    を1.9.7-gke.5 -> 1.9.7-gke.7
    にupgrade

    たらいろいろ死んだ!
    なのでIstio
    のtraffic management
    について学び直す
    7 / 19

    View Slide

  8. What is Istio?
    kubernetes
    上にservice mesh
    を実現するフレームワ
    ークです
    8 / 19

    View Slide

  9. Istio tra c management can ...
    9 / 19

    View Slide

  10. ここが嬉しい
    1. compornent
    間の通信を宣⾔的に書ける
    2. canary release
    が簡単にできる
    3. traffic
    をmirrering
    できる
    4. latency
    を仮想的に実現できる
    5. circit braker
    機能を宣⾔的に書ける
    10 / 19

    View Slide

  11. それが実現できるという
    ことは
    それなりに設定を書く必要がある
    1.
    定義したpod
    は基本的にenvoy (sidecar proxy server)

    しかアクセスできない
    2.
    基本的にenvoy
    は外部へも通信を許可しない(どこ向け
    のアクセスか把握できないため?)
    3.
    トラフィックルーティングを定義することで通信が可能
    となる
    11 / 19

    View Slide

  12. kubernetes
    のservice, ingress
    の考えを
    ⼀旦捨てる
    必要がある
    12 / 19

    View Slide

  13. Custom Resource
    新たに登場するresource
    たち
    1. DestinationRule
    2. VirtualService
    3. Gateway
    4. ServiceEntry
    5. DestinationPolicy
    13 / 19

    View Slide

  14. DestinationRule
    通信先として仮想的なhost
    名を定義する
    subsets
    を更に定義でき、content(user
    など)

    version(canary)
    など通信先を細かく制御できる
    14 / 19

    View Slide

  15. VirtualService
    公開する通信先を定義する
    15 / 19

    View Slide

  16. Gateway
    Istio ingress
    への通信をどこにproxy
    するか決める
    16 / 19

    View Slide

  17. ServiceEntry
    外部への通信について設定を記述する
    17 / 19

    View Slide

  18. DestinationPolicy
    通信先ごとのcircit braker
    機能を記述
    18 / 19

    View Slide

  19. 遊んでみて⼤体イメージが付いたので
    頑張っていく

    19 / 19

    View Slide