天天看點

OpenKruise v0.5.0 版本釋出 | 雲原生生态周報 Vol. 50

雲原生一周生态要聞總覽。

OpenKruise v0.5.0 版本釋出 | 雲原生生态周報 Vol. 50
作者 | 丁海洋、張曉宇、宋淨超、孫健波

業界要聞

  1. OpenKruise v0.5.0 版本釋出,支援無損的流式分批釋出政策

OpenKruise 是阿裡雲開源的大規模應用自動化管理引擎,在 Kubernetes 原生 Deployment/StatefulSet 等控制器基礎上,提供了更多的增強功能如 優雅原地更新、釋出優先級/打散政策、多可用區 workload 抽象管理、統一 sidecar 容器注入管理等。這些 feature 都是經曆了阿裡巴巴超大規模應用場景打磨出的核心能力,可以幫助開發者應對更加多樣化的部署環境和需求、為叢集維護者和應用開發者帶來更加靈活的部署釋出組合政策。

本次 v0.5.0 版本的更新,主要帶來了應用無損釋出和 sidecar 容器管理上更加便捷的能力。

  1. 線上版 KuberCon 開源盛會已确認舉辦時間

開源界大消息:定檔于 7 月 30 日 - 8 月 1 日的“Cloud Native + Open Source Virtual Summit China 2020”技術大會官網正式上線「cncf.lfasiallc.cn」,誠邀全球廣大的開源組織、企業、技術大咖和開發者注冊報名,提前鎖定這場開源界最負盛名的旗艦峰會。

  1. 2020上半年 CNCF 雲原生調查

新一期的 CNCF 調查又開始了,希望對這個領域感興趣的朋友提出你對 CNCF 雲原生的看法。相關位址:

https://www.surveymonkey.com/r/GG26PL5

  1. CNCF 開源項目 Harbor 正式釋出 2.0 版本

開源鏡像倉庫 Harbor 2.0 正式釋出了!從 2017 年 4 月釋出 1.1 版本算起,經過整整 3 年,Harbor 的版本号終于 “升” 到 2.x 了。

  1. 信通院推動“中國開源生态地圖”建構

阿裡巴巴以及螞蟻金服的多個開源項目入列其中。

  1. Amazon Red Hat OpenShift announced for public cloud Kubernetes users

5 月 14 日消息,現在使用者可以在 AWS 上友善的運作 RH 的 OpenShift 發行版,這是 AWS 和 RH 聯合 release 的。

上遊重要進展

  1. Dynamic Cardinality Enforcement

為 metrics 資料的大小添加強制的限制,主要是為了防止由于代碼 Bug 或者不恰當的使用導緻記憶體洩漏,手段是允許在運作時動态的配置 metric label values 的白名單。

  1. KEP-1623: Standardize Conditions.

.status.conditions 這個字段的 schema 缺少規範,在序列化、proto-encoding、字段的限制條件(require vs optional)方面都顯得很随意。這個 KEP 意圖規範化 .status.conditions 字段。

  1. EndpointSlice API

目前 Endpoint 這個 API 是一個整體對象,不支援切片,如果一個 Endpoint 對象隻是更新一部分值,那麼實際上是更新了 etcd 等元件中整個對象,這可能帶來一定的性能壓力。這個 KEP 希望支援 EndpointSlice。

  1. Default Even Pod Spreading

該 KEP 計劃為 Pod 提供可配置的預設 打散 限制,友善叢集的管理者根據叢集的拓撲為沒有配置打散政策的 Pod 提供預設的打散政策,來達到一定程度的高可用等目的。該 KEP 價值很大,因為目前 Pod 的打散規則是應用開發者自己寫在應用模闆中的,但實際上應用開發者多數時候并不一定知道叢集本身的拓撲資訊,反而應該是叢集的管理者更加清楚如何根據叢集拓撲讓應用打散。

  1. KEP-895: Pod Topology Spread

目前的 Affinity 政策不夠靈活,可能會導緻 Pod 在特定的叢集拓撲中聚集、資源利用不均衡、Pod 在資源充足時候卻不能容忍 AntiAffinity 等的負面現象。該 KEP 希望通過定義 TopologySpreadConstraint 這個 API,實作更加靈活的打散規則。

  1. Multi Scheduling Profiles

在運作多個排程器是,支援通過 API 對多個排程器進行配置。使用者可以根據自身需要在為 Pod 排程指定排程器,并可以根據需要對排程器的配置進行個性化設定。

  1. Add NonPreempting Option For PriorityClasses

驅逐(Peemption)是 K8s 中的一個重要機制,旨在當相對重要的 Pod 因叢集資源不足無法排程時,主動清理一部分叢集資源保證其可以盡快被排程。NonPreempting 機制的意圖是為 Pod 的 PriorityClass 添加一個特殊的字段,讓特定的 Pod 不會觸發 Preemption 機制。

  1. Announcing Istio 1.6

在這個版本中,Istio 繼續推進今年早些時候在發展戰線圖中提出的更新方向,朝着更簡單、更順暢的安裝體驗邁進,同時還引入了其他一些提升。

開源項目推薦

cdk8s

cdk8s 是一個軟體開發架構,用于使用熟悉的程式設計語言和豐富的面向對象的 API 定義 Kubernetes 應用程式和可重用的抽象。 cdk8s 生成純 Kubernetes YAML-您可以使用 cdk8s 為在任何地方運作的任何 Kubernetes 叢集定義應用程式。官網位址:https://cdk8s.io/

本周閱讀推薦

  1. 《CNCF 官方大使張磊:Kubernetes 是一個“資料庫”嗎?》

近期社群裡面越來越多的聲音在說 Kubernetes 是 Infrastructure as Data 時代下的資料庫,而 OAM 就是這個資料庫的“視圖”,幫助大家更清晰的抽象和模組化。歡迎大家閱讀!

  1. 《調查了 17,000 多位程式員,目前的雲原生開發現狀究竟如何?》

又是一篇對 CNCF 雲原生報道的解讀,如果錯過了前面的文章,閱讀本文也能得到很多資訊。“在使用 Kubernetes 的開發人員中,71% 的人提出了建議或影響了決策者。這比沒有使用 Kubernetes 的開發人員高 25%。”

  1. 兩個關于 Windows 伺服器運作 Container 的消息

Azure 宣布使用 Windows Server 來運作容器的能力已經 GA;幾乎同時,GKE 也宣布可以将 Windows Server 加入到節點資源池中。相關連結:

  • Announcing the general availability of Windows Server containers and private clusters for Azure Kubernetes Service
  • GKE Clusters with node pools running Windows Server is now GA

直播推薦

本次直播為第 3 期 SIG Cloud-Provider-Alibaba 網研會,講師将會介紹阿裡經濟體大規模應用上雲過程中遇到的核心部署問題、采取的對應解決方案,以及這些方案沉澱為通用化能力輸出開源後,如何幫助阿裡雲上的使用者提升應用部署釋出的效率與穩定性。

聽衆可擷取以下收益:

  • 了解阿裡經濟體大規模應用上雲的實踐經驗,如何解決原生 K8s workload 不滿足場景需求的問題;
  • 作為外部使用者,如何體驗和使用上阿裡經濟體上雲所沉澱下來的應用部署釋出能力;
  • 示範阿裡巴巴針對大規模 K8s 叢集如何做到 DaemonSet 高可用的灰階更新(即将開源!)。

點選預約直播:https://developer.aliyun.com/live/2897

“阿裡巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公衆号。”

繼續閱讀