作者 | 徐迪、陳俊、敖小劍、宋進超
業界要聞
作為 Flink 社群迄今為止規模最大的一次版本更新,Flink 1.10 容納了超過 200 位貢獻者對超過 1200 個 issue 的開發實作,包含對 Flink 作業的整體性能及穩定性的顯著優化、對原生 Kubernetes 的初步內建(beta 版本)以及對 Python 支援(PyFlink)的重大優化。
此版本以安全為主題,主要更新亮點包括增加了将 Linkerd 的交叉 TLS 基礎與外部證書發行商(如 Vault、cert-manager)內建的支援,改進了 GitOps 工作流,并使其易于自動輪換 TLS 憑據;還改進了 dashboard 的性能,提高了 Helm 圖表的可用性。
上遊重要進展
Kubernets
- 1.18 分支本周二正式建立了,code freeze 在 3 月 5 号;
- graduate PodTopologySpread to beta
feature gate PodTopologySpread 更新到 beta 版本。
引入了新的 token issuer,符合 OIDC(OpenID Connect) 标準的都可以用來做 token issuer。
主要為了解決 kubelet 證書 rotate 過程中出現的 crash。
可以檢視 controller manager 中的 work queue metrics。
kubelet 無法 mount filesystem 時候上報 event。
允許 GC 清理 ControllerRevisions,避免進入一個無法删除的 loop。
使用 docker buildx 進行 cross build。
Istio
在多叢集中,有些服務本質上是叢集本地的,不應該從其他叢集通路,是以需要支援Mesh的運維人員有選擇的決定是否将單個服務合并到多叢集Mesh中。
Kubernetes 在 1.17 版本中推出了
Service Topology的 alpha 版本,在之前 Service 的基礎上擴充支援了 zone 和 region 标簽,并容許任意拓撲,這個特性要求開啟 EndpointSlice。Istio中需要計劃對其提供支援,實作更豐富的區域路由和負載均衡能力。
- 正在規劃中的 Istio 2020年 Roadmap :
- 安裝:控制平面合并為 istiod,支援單個 mesh 中的多個控制平面(用于控制平面更新),支援在 Kubernetes 之外存儲 istio 的配置資料,支援 K8s 和虛拟機上的現有應用不停機地移到 istio;
- 多叢集:支援單一網絡/多網絡,支援單一控制平面/多控制平面;
- 虛拟機支援:重構 service entry 為 workload entry;
- 服務發現:支援 consul / Lambda / Azure functions / Zookeeper;
- 可擴充性方面:棄用 Mixer v1,支援 WASM 擴充 Envoy,實作 Mixer 中的 Policy 和 Tlemetry;
- 運維:新的 traffic management API;支援 K8s Ingress v2,支援使用 WASM 擴充 Istio;
- 安全:增加 Istio Agent;支援使用 SDS 擴充運作于虛拟機上的 Mesh;使用 SPIFFE trust bundle 的 Mesh 聯邦。
- 同樣規劃的 Istio 2020 年 Release 計劃 ,原則上每三個月進行一個版本釋出:
- Istio 1.5:預計 2 月 18 日,但目前已經延遲,改為 3 月 5 日
- Istio 1.6:預計 5 月 19 日
- Istio 1.7:預計 8 月 18 日
- Istio 1.8:預計 11 月 15 日
- Istio準備 棄用 Mixer
Mixer 将在 Istio 1.5 中标記為 deprecated;計劃在 Istio 1.7 (預計在 2020 年 8 月份釋出)中删除,Mixer 的代碼将被移動到 Istio-ecosystem。新的 Mixer V2 方案正在開發中,Mixer 原有的功能将被移到 Envoy 中,以 WASM 的形式進行擴充。
開源項目推薦
友善 spring cloud 對接跑在 Kubernetes 中的 spring boot 應用。
本周閱讀推薦
列舉了 13 點在裸金屬裡運作 Kubernetes 的劣勢。
對 Service Mesh 生态目前概況的整體解讀。
“ 阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”