变化
变化项
类型
1.6(.3)
1.5或之前
意义
移除
组件
Citadel、Sidecar Injector、Galley
1.5为完成的收尾
强化
功能项
删减的功能,合并入 Istiod
替换
安装
增加: istioctl install; 替换 manifest apply
移除
配置
废弃的 Helm charts、istio-pilot 的配置
增加
功能项
虚拟机支持(WorkloadEntry)
独立于K8S的准备?
移除
组件
Envoy proxy
Mixer
Mixer的功能已经被移入Envoy proxy,目前为 废弃&未移除状态,1.7后会彻底移除
增加
功能项
Envoy,将 Wasm/WebAssembly 功能移除
代码目录说明
基于 v1.6.3 (2020.06.22)
bin/:二进制生成脚本等
common/:
- 少量编译处理
- 一些依赖处理
common-protos/:大量proto文件,用于内部各组件(包括第三方组件)高效RPC
docker/:ca证书 & Dockerfile.base,顾名思义
galley/:没有变化,独立组件,负责配置管理,包括
- 验证配置信息格式和内容正确性
- 屏蔽配置的底层处理细节
- 将配置提供给其他组件用
install/:安装?
- consul/:安装和consul的支持
- gcp/:安装对Google cloud platform的支持
istioctl/:独立组件,istio控制台
licenses/:各种许可证,挺多的
manifests/:各种安装配置
mixer/:旧组件,明确已废弃,1.7会彻底移除
operator/:从1.5起,就是 istio/istio 的一部分(怎么解?)
- meshConfig:运行时 istio 控制平面组件用的
- 组件配置API:控制 K8S 配置,如:资源、自动调度、pod等,和addon组件
- Helm安装相关的能力(Helm不是被istioctl取代吗?这部分的意义?)
pilot/:独立组件,在istio中起资源管理段的作用(?),应该属于istiod的一部分
pkg/:各种组件合集
- istio-agent/:即envoy
- ...
prow:prow 是 Kubernetes 测试特别兴趣小组的项目,目前是 kubernetes/test-infra 的一部分。Prow 是一个基于 Kubernetes 使用各类事件驱动执行 Job 的 CI/CD 系统
除了执行 Job ,Prow 还能通过以下方式,实现 GitHub 自动化:
- 策略配置,权限控制等
- /label 形式的 chat-ops 命令
- 自动合并 PR
release/:获取 istioCtl 和 istio非稳定版本
sample/:istio安装后,一些场景的测试工具/配置
security/:安全机制的代码和配置,应该主要在身份验证方面
test/:顾名思义吧
tools/:辅助工具,有的涉及 iptables 处理
资料
https://istio.io/latest/docs/setup/getting-started/ 官方部署和试用文档
https://zhuanlan.zhihu.com/p/144535273?from_voters_page=true v1.6到目前最广泛的解读文章