OpenKruise v0.5.0 版本发布 | 云原生生态周报 Vol. 50
作者 | 丁海洋、張曉宇、宋凈超、孫健波
業(yè)界要聞
OpenKruise 是阿里云開源的大規(guī)模應用自動化管理引擎,在 Kubernetes 原生 Deployment/StatefulSet 等控制器基礎上,提供了更多的增強功能如 優(yōu)雅原地升級、發(fā)布優(yōu)先級/打散策略、多可用區(qū) workload 抽象管理、統(tǒng)一 sidecar 容器注入管理等。這些 feature 都是經(jīng)歷了阿里巴巴超大規(guī)模應用場景打磨出的核心能力,可以幫助開發(fā)者應對更加多樣化的部署環(huán)境和需求、為集群維護者和應用開發(fā)者帶來更加靈活的部署發(fā)布組合策略。
本次 v0.5.0 版本的升級,主要帶來了應用無損發(fā)布和 sidecar 容器管理上更加便捷的能力。
開源界大消息:定檔于 7 月 30 日 - 8 月 1 日的“Cloud Native + Open Source Virtual Summit China 2020”技術大會官網(wǎng)正式上線「cncf.lfasiallc.cn」,誠邀全球廣大的開源組織、企業(yè)、技術大咖和開發(fā)者注冊報名,提前鎖定這場開源界最負盛名的旗艦峰會。
新一期的 CNCF 調(diào)查又開始了,希望對這個領域感興趣的朋友提出你對 CNCF 云原生的看法。相關地址:
https://www.surveymonkey.com/r/GG26PL5
開源鏡像倉庫 Harbor 2.0 正式發(fā)布了!從 2017 年 4 月發(fā)布 1.1 版本算起,經(jīng)過整整 3 年,Harbor 的版本號終于 “升” 到 2.x 了。
阿里巴巴以及螞蟻金服的多個開源項目入列其中。
5 月 14 日消息,現(xiàn)在用戶可以在 AWS 上方便的運行 RH 的 OpenShift 發(fā)行版,這是 AWS 和 RH 聯(lián)合 release 的。
上游重要進展
為 metrics 數(shù)據(jù)的大小添加強制的限制,主要是為了防止由于代碼 Bug 或者不恰當?shù)氖褂脤е聝?nèi)存泄漏,手段是允許在運行時動態(tài)的配置 metric label values 的白名單。
.status.conditions 這個字段的 schema 缺少規(guī)范,在序列化、proto-encoding、字段的限制條件(require vs optional)方面都顯得很隨意。這個 KEP 意圖規(guī)范化 .status.conditions 字段。
目前 Endpoint 這個 API 是一個整體對象,不支持切片,如果一個 Endpoint 對象只是更新一部分值,那么實際上是更新了 etcd 等組件中整個對象,這可能帶來一定的性能壓力。這個 KEP 希望支持 EndpointSlice。
該 KEP 計劃為 Pod 提供可配置的默認 打散 約束,方便集群的管理員根據(jù)集群的拓撲為沒有配置打散策略的 Pod 提供默認的打散策略,來達到一定程度的高可用等目的。該 KEP 價值很大,因為當前 Pod 的打散規(guī)則是應用開發(fā)者自己寫在應用模板中的,但實際上應用開發(fā)者多數(shù)時候并不一定知道集群本身的拓撲信息,反而應該是集群的管理者更加清楚如何根據(jù)集群拓撲讓應用打散。
當前的 Affinity 策略不夠靈活,可能會導致 Pod 在特定的集群拓撲中聚集、資源利用不均衡、Pod 在資源充足時候卻不能容忍 AntiAffinity 等的負面現(xiàn)象。該 KEP 希望通過定義 TopologySpreadConstraint 這個 API,實現(xiàn)更加靈活的打散規(guī)則。
在運行多個調(diào)度器是,支持通過 API 對多個調(diào)度器進行配置。用戶可以根據(jù)自身需要在為 Pod 調(diào)度指定調(diào)度器,并可以根據(jù)需要對調(diào)度器的配置進行個性化設置。
驅(qū)逐(Peemption)是 K8s 中的一個重要機制,旨在當相對重要的 Pod 因集群資源不足無法調(diào)度時,主動清理一部分集群資源保證其可以盡快被調(diào)度。NonPreempting 機制的意圖是為 Pod 的 PriorityClass 添加一個特殊的字段,讓特定的 Pod 不會觸發(fā) Preemption 機制。
在這個版本中,Istio 繼續(xù)推進今年早些時候在發(fā)展戰(zhàn)線圖中提出的更新方向,朝著更簡單、更順暢的安裝體驗邁進,同時還引入了其他一些提升。
開源項目推薦
cdk8s
cdk8s 是一個軟件開發(fā)框架,用于使用熟悉的編程語言和豐富的面向?qū)ο蟮?API 定義 Kubernetes 應用程序和可重用的抽象。 cdk8s 生成純 Kubernetes YAML-您可以使用 cdk8s 為在任何地方運行的任何 Kubernetes 集群定義應用程序。官網(wǎng)地址:https://cdk8s.io/
本周閱讀推薦
近期社區(qū)里面越來越多的聲音在說 Kubernetes 是 Infrastructure as Data 時代下的數(shù)據(jù)庫,而 OAM 就是這個數(shù)據(jù)庫的“視圖”,幫助大家更清晰的抽象和建模。歡迎大家閱讀!
又是一篇對 CNCF 云原生報道的解讀,如果錯過了前面的文章,閱讀本文也能得到很多信息。“在使用 Kubernetes 的開發(fā)人員中,71% 的人提出了建議或影響了決策者。這比沒有使用 Kubernetes 的開發(fā)人員高 25%。”
Azure 宣布使用 Windows Server 來運行容器的能力已經(jīng) GA;幾乎同時,GKE 也宣布可以將 Windows Server 加入到節(jié)點資源池中。相關鏈接:
- 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 網(wǎng)研會,講師將會介紹阿里經(jīng)濟體大規(guī)模應用上云過程中遇到的核心部署問題、采取的對應解決方案,以及這些方案沉淀為通用化能力輸出開源后,如何幫助阿里云上的用戶提升應用部署發(fā)布的效率與穩(wěn)定性。
聽眾可獲取以下收益:
- 了解阿里經(jīng)濟體大規(guī)模應用上云的實踐經(jīng)驗,如何解決原生 K8s workload 不滿足場景需求的問題;
- 作為外部用戶,如何體驗和使用上阿里經(jīng)濟體上云所沉淀下來的應用部署發(fā)布能力;
- 演示阿里巴巴針對大規(guī)模 K8s 集群如何做到 DaemonSet 高可用的灰度升級(即將開源!)。
點擊預約直播:https://developer.aliyun.com/live/2897
“阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規(guī)模的落地實踐,做最懂云原生開發(fā)者的公眾號。”
總結(jié)
以上是生活随笔為你收集整理的OpenKruise v0.5.0 版本发布 | 云原生生态周报 Vol. 50的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零入门 Serverless | 架构
- 下一篇: 如何使用 Istio 进行多集群部署管理