Istio
Googleのウルス・ヘルツル氏に聞いた、「IstioやKnativeで目指すのはクラウドのアンロックイン」 (1/2):単独インタビュー - @IT
Istio
/icons/github.icon istio/istio: An open platform to connect, manage, and secure microservices.
Istioの構成管理の話 - Gunosy Tech Blog
マイクロサービスにおけるAZ間通信のコスト大幅削減した話 with Istio Locality Load Balancing - Gunosy Tech Blog
Istioの導入メリットとしては、envoyの複雑な設定をラップしてくれてるため、設定が簡潔になります。 またenvoyはトレーシングをサポートしているので、Istioの管理下のトラフィックに対して様々な監視が適用できます。
しかしその反面、細かい挙動を制御したいという場合は、envoyの仕組みを知る必要があり、運用としては難しい点もあります。
4つの機能
Virtual services
仮想Serviceといってk8sのserviceを模したもので、Istio管理下であればVirtualServiceにもk8sのエンドポイントと同じようにリクエストを送ることができます
実際の宛先を複数登録したり条件を設定することができ、load balancingのような働きをします。
Destination rules
宛先を決めるルールの設定項目で、こちらもload balancingのような働きをします。
VirtualServiceは受け取る側の設定に対し、Destination rulesは送る側の設定になります。
Gateways
Istioが管理しているサービスメッシュの出入り口を制御するコンポーネントです。
Gatewayを内部のエンドポイントに紐付ける場合、VirtualServiceを指定します。
Service entries
Service entriesはMeshの外側のコンポーネント(例えばDBなど)に対して、仮想のServiceを作ります。
これを作ることでVirturalServiceと同様に接続させることが可能になります。