Istio
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と同様に接続させることが可能になります。