变化
变化项 | 类型 | 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到目前最广泛的解读文章