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

Istioのハマりどころ

Toshifumi Anan
September 26, 2019

 Istioのハマりどころ

Cloud Native Meetup Tokyo #10 LT資料です

Toshifumi Anan

September 26, 2019
Tweet

More Decks by Toshifumi Anan

Other Decks in Technology

Transcript

  1. - 阿南 肇史 (Anan Toshifumi) - Twitter: @toshanan - Site

    Reliability Engineer @ UZABASE, Inc. - Istioについてのインタビュー記事(宣伝) - https://employment.en-japan.com/engineerhub/entry/2019/05/21/103000 自己紹介
  2. - 阿南 肇史 (Anan Toshifumi) - Twitter: @toshanan - Site

    Reliability Engineer @ UZABASE, Inc. - Istioについてのインタビュー記事(宣伝) - https://employment.en-japan.com/engineerhub/entry/2019/05/21/103000 自己紹介
  3. • Pod と Service の Requirementsでハマる ◦ Service Port名は命名規則がある (正しくroutingされない)

    ▪ name: <protocol>[-<suffix>] i.e) http2-foo, http ◦ Deploymentのlabelにapp, version は必須 (metrics取得に必要) ◦ 詳細はこちら: https://istio.io/docs/setup/additional-setup/requirements/ ◦ Istio 1.3 になるとServiceのプロトコルは自動検知してくれる模様 ▪ https://istio.io/blog/2019/announcing-1.3/ ハマりポイント#1
  4. • Headerを引き継いでハマる ハマりポイント#2 istio-proxy Service C istio-proxy Service A istio-proxy

    Service B istio-proxy Service D x-hoge-id: 100 x-hoge-language: ja host: b-service x-hoge-id: 100 x-hoge-language: ja host: api.example.com x-hoge-id: 100 x-hoge-language: ja
  5. istio-proxy Service C istio-proxy Service A istio-proxy Service B istio-proxy

    Service D ハマりポイント#2 • Headerを引き継いでハマる x-hoge-id: 100 x-hoge-language: ja x-hoge-id: 100 x-hoge-language: ja x-hoge-id: 100 x-hoge-language: ja
  6. istio-proxy Service C istio-proxy Service A istio-proxy Service B istio-proxy

    Service D ハマりポイント#2 • 自身のhostが設定されており、正 しくroutingできない Host: b-service:8080 x-hoge-id: 100 x-hoge-language: ja Host: b-service:8080 x-hoge-id: 100 x-hoge-language: ja
  7. istio-proxy Service C istio-proxy Service A istio-proxy Service B istio-proxy

    Service D ハマりポイント#2 • 必要なヘッダーのみ引き継ぐ Host: b-service:8080 x-hoge-id: 100 x-hoge-language: ja x-hoge-id: 100 x-hoge-language: ja
  8. ハマりポイント#3 • istio-proxyを使いこなしてハマる ◦ ◦ istio-proxyには調査に役立つコマンドが多く入っている ▪ curl ▪ tcpdump

    ▪ ip ▪ iptables ▪ netstat ▪ ... ◦ トラブル時の疎通確認、意図した versionに到達するか等確認したくなる
  9. • GKEでInternal Load Balancerが作成できない ◦ Issue : https://github.com/istio/istio/issues/11365 ◦ GCPは

    cloud.google.com/load-balancer-type: "internal"を付与するとInternal LBが作成可能 ◦ ただし、istio-ingressgatewayは公開するPort数の制限により作成不可 ▪ Internal LBのMaxは 5 ports ハマりポイント#4