作者 | 丁海洋、張曉宇、宋淨超、孫健波
業界要聞
OpenKruise 是阿里雲開源的大規模應用自動化管理引擎,在 Kubernetes 原生 Deployment/StatefulSet 等控制器基礎上,提供了更多的增強功能如 優雅原地升級、發佈優先級/打散策略、多可用區 workload 抽象管理、統一 sidecar 容器注入管理等。這些 feature 都是經歷了阿里巴巴超大規模應用場景打磨出的核心能力,可以幫助開發者應對更加多樣化的部署環境和需求、爲集羣維護者和應用開發者帶來更加靈活的部署發佈組合策略。
本次 v0.5.0 版本的升級,主要帶來了應用無損發佈和 sidecar 容器管理上更加便捷的能力。
開源界大消息:定檔於 7 月 30 日 - 8 月 1 日的“Cloud Native + Open Source Virtual Summit China 2020”技術大會官網正式上線「cncf.lfasiallc.cn」,誠邀全球廣大的開源組織、企業、技術大咖和開發者註冊報名,提前鎖定這場開源界最負盛名的旗艦峯會。
新一期的 CNCF 調查又開始了,希望對這個領域感興趣的朋友提出你對 CNCF 雲原生的看法。相關地址:
https://www.surveymonkey.com/r/GG26PL5
開源鏡像倉庫 Harbor 2.0 正式發佈了!從 2017 年 4 月發佈 1.1 版本算起,經過整整 3 年,Harbor 的版本號終於 “升” 到 2.x 了。
阿里巴巴以及螞蟻金服的多個開源項目入列其中。
5 月 14 日消息,現在用戶可以在 AWS 上方便的運行 RH 的 OpenShift 發行版,這是 AWS 和 RH 聯合 release 的。
上游重要進展
爲 metrics 數據的大小添加強制的限制,主要是爲了防止由於代碼 Bug 或者不恰當的使用導致內存泄漏,手段是允許在運行時動態的配置 metric label values 的白名單。
.status.conditions 這個字段的 schema 缺少規範,在序列化、proto-encoding、字段的限制條件(require vs optional)方面都顯得很隨意。這個 KEP 意圖規範化 .status.conditions 字段。
目前 Endpoint 這個 API 是一個整體對象,不支持切片,如果一個 Endpoint 對象只是更新一部分值,那麼實際上是更新了 etcd 等組件中整個對象,這可能帶來一定的性能壓力。這個 KEP 希望支持 EndpointSlice。
該 KEP 計劃爲 Pod 提供可配置的默認 打散 約束,方便集羣的管理員根據集羣的拓撲爲沒有配置打散策略的 Pod 提供默認的打散策略,來達到一定程度的高可用等目的。該 KEP 價值很大,因爲當前 Pod 的打散規則是應用開發者自己寫在應用模板中的,但實際上應用開發者多數時候並不一定知道集羣本身的拓撲信息,反而應該是集羣的管理者更加清楚如何根據集羣拓撲讓應用打散。
當前的 Affinity 策略不夠靈活,可能會導致 Pod 在特定的集羣拓撲中聚集、資源利用不均衡、Pod 在資源充足時候卻不能容忍 AntiAffinity 等的負面現象。該 KEP 希望通過定義 TopologySpreadConstraint 這個 API,實現更加靈活的打散規則。
在運行多個調度器是,支持通過 API 對多個調度器進行配置。用戶可以根據自身需要在爲 Pod 調度指定調度器,並可以根據需要對調度器的配置進行個性化設置。
驅逐(Peemption)是 K8s 中的一個重要機制,旨在當相對重要的 Pod 因集羣資源不足無法調度時,主動清理一部分集羣資源保證其可以儘快被調度。NonPreempting 機制的意圖是爲 Pod 的 PriorityClass 添加一個特殊的字段,讓特定的 Pod 不會觸發 Preemption 機制。
在這個版本中,Istio 繼續推進今年早些時候在發展戰線圖中提出的更新方向,朝着更簡單、更順暢的安裝體驗邁進,同時還引入了其他一些提升。
開源項目推薦
cdk8s<br />cdk8s 是一個軟件開發框架,用於使用熟悉的編程語言和豐富的面向對象的 API 定義 Kubernetes 應用程序和可重用的抽象。 cdk8s 生成純 Kubernetes YAML-您可以使用 cdk8s 爲在任何地方運行的任何 Kubernetes 集羣定義應用程序。官網地址:https://cdk8s.io/
本週閱讀推薦
近期社區裏面越來越多的聲音在說 Kubernetes 是 Infrastructure as Data 時代下的數據庫,而 OAM 就是這個數據庫的“視圖”,幫助大家更清晰的抽象和建模。歡迎大家閱讀!
又是一篇對 CNCF 雲原生報道的解讀,如果錯過了前面的文章,閱讀本文也能得到很多信息。“在使用 Kubernetes 的開發人員中,71% 的人提出了建議或影響了決策者。這比沒有使用 Kubernetes 的開發人員高 25%。”
- 兩個關於 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 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公衆號。”