Istio is a implementation of service mesh. It design to provide L
a) traffic route option between services
b) monitor the traffics go through different serivce for different metrics e.g http return code . request per sec ; latency etc
c) act as load balancer to route traffic to backend pod with configured ratio ;
d) support TLS between services in same clusder
e) visuliase the connection , tracing the request between the services (Kiali; tracing; jaeger)
It not need change application yaml file, it will create new namespace called istio, and run a envoy sidecar container in the everypd .
The applications in a namespace need to be labled.
kubectl lable namespace <namespace> istio-injection=enabled
The pods need restart after that.
To install addon , apply the yaml in istio-1.9.1/samples/addons;
Promethuse etc will be created as new pod in namespace of istio.
The only requirment in app yaml is add a lable named with app
Implement retry, traffic split, carnary deployment etc.
https://istio.io/latest/docs/reference/config/networking/virtual-service/
原文:https://www.cnblogs.com/anyu686/p/14489328.html