Istio 是一个开源的服务网格平台,用于管理微服务通信。它通过在应用层和基础设施层之间插入一个透明的代理层,实现流量控制、安全策略、监控观测等功能。以下是关键知识点:
核心概念
- 服务网格:由数据平面(Envoy 代理)和控制平面(Istio 组件)组成
- 流量管理:支持 A/B 测试、金丝雀发布、超时重试等策略
- 安全增强:自动注入 mTLS 证书,实现服务间加密通信
- 观测能力:集成 Prometheus、Grafana 等工具实现可视化监控
快速上手
- 安装 Istio 控制平面
istioctl install --set profile=demo -y
- 部署示例服务
kubectl apply -f samples/bookinfo/networking/destination-rule-all.yaml
- 配置流量规则
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: bookinfo spec: hosts: - "*" http: - route: - destination: host: bookinfo subset: reviews - route: host: bookinfo subset: ratings