0. 参考文献
- https://www.youtube.com/watch?v=voAyroDb6xk
- https://www.youtube.com/watch?v=16fgzklcF7Y
- https://istio.io/latest/docs/tasks/observability/kiali/
- https://istio.io/latest/docs/setup/getting-started/
- https://github.com/GoogleCloudPlatform/microservices-demo/tree/master/release
1. 介绍3大概念
- 微服务:一种架构方案,将应用拆分成多个核心功能,每个功能单独构建和部署,以实现敏捷、弹性、可扩展的目标。
- Service Mesh:管理微服务功能之间的通讯,如服务发现、灰度发布、东西向网络策略、服务调用重试、监控、链路追踪等。
- istio:是Service Mesh解决方案之一
2. Istio架构及部署形态
-
架构: Control Plane(Istiod下发Proxy至微服务Pod) + Data Plane(Pod中Proxy以SideCar形式运行,不侵入微服务代码)
-
部署方式: 一条命令istioctl install
-
部署形态: 支持1个或多个k8s集群,以crd+operator形态运行在k8s集群中。
-
使用方法: 打label。 命名空间使用istio-injection=enabled,Pod使用sidecar.istio.io/inject=true
kubectl label namespace xxx istio-injection=enabled
kubectl get namespace -L istio-injection;
3. Istio安装插件实现业务观测、流控等图形化管理
4. Istio-Kiali插件
实现微服务观测、调用链观测、流控设置、工作负载观测、服务配置检查以及Istio配置管理的功能