4.2 Istio架构核心组件:Pilot、Citadel、Galley三大组件详解
引言
Istio的控制平面由Pilot、Citadel、Galley三大核心组件组成。理解这些组件的功能和工作原理,是掌握Istio的关键。本文将详细解析这三个组件的架构和功能。
一、Pilot组件
1.1 Pilot的作用
- 服务发现
- 流量管理
- 配置分发
- 路由规则管理
1.2 Pilot架构
Pilot ├── Service Discovery ├── Traffic Management ├── Configuration API └── Envoy Configuration1.3 Pilot功能
服务发现:
- 从Kubernetes API获取服务信息
- 生成服务注册表
- 推送给Envoy
流量管理:
- VirtualService配置
- DestinationRule配置
- 路由规则转换
二、Citadel组件
2.1 Citadel的作用
- 证书管理
- 身份认证
- mTLS配置
- 安全策略
2.2 Citadel架构
Citadel ├── Certificate Authority ├── Identity Provider ├── Policy Engine └── Certificate Distribution2.3 证书管理
# 查看证书kubectl get secret -n istio-system|grepistio# 查看Citadel日志kubectl logs -n istio-system -lapp=citadel三、Galley组件
3.1 Galley的作用
- 配置验证
- 配置转换
- 配置分发
- 配置聚合
3.2 Galley架构
Galley ├── Configuration Validator ├── Configuration Transformer ├── Configuration Distributor └── MCP Server3.3 配置管理
# Galley验证配置apiVersion:networking.istio.io/v1beta1kind:VirtualServicemetadata:name:reviewsspec:hosts:-reviewshttp:-match:-headers:end-user:exact:jasonroute:-destination:host:reviewssubset:v2