變化
變化項 | 類型 | 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到目前最廣泛的解讀文章