做者 | 陳潔、高相林、陳有坤、敖小劍git
Argo 項目是一組 Kubernetes 原生工具,用於運行和管理 Kubernetes 上的做業和應用程序。目前由 Argo Workflows,Argo Events,Argo CD 和 Argo Rollouts 四個子項目組成。4 月 8 日,CNCF 技術監督委員會(Technical Oversight Committee,TOC)投票決定接受 Argo 做爲孵化級別的託管項目。github
Argo CD 發佈 v1.5 版本,v1.5 在性能上進行了大幅度的優化,同時下降了對 APIServer 的壓力;此外,v1.5 還對 Helm 3 charts 進行了支持。數據庫
4 月 7 日,CloudNative 峯會在 youtube 上經過直播形式召開,峯會主要介紹了 CNCF 畢業項目(包括 Kubernetes,Prometheus,Envoy,Jaeger 等)的最新進展以及討論將來在雲原生技術上的一些新的動向。api
受 COVID-19 疫情影響,大多數人開啓了居家辦公模式,社交關係拉遠,無論是對身體健康仍是心理健康都有所影響。CNCF Well-Being Working Group 提供了一份疫情期間工做指導,包括一些常見問題的解答以及建議。網絡
因 COVID-19,Helm 維護人員決定延長 Helm v2 的 Bug 修復服務時間。app
優化了 kubectl apply 的邏輯,儘量多的 apply YAML 中的有效資源。less
支持在 cgroup v2 unified mode 的機器上跑 kubelet。同時作了 cpu.shares(閾值爲 2-262144 )到 cpu.weight(閾值爲 1-10000)的轉換。運維
在 apiserver 端暴露了一個 etcd db size 使用量的 metric。分佈式
解決了一個沒有對 Selector 結果進行校驗的 Bug。目前使用 labels.SelectorFromSet,若是解析失敗(例如 label value 誤填了一個很長的值),會返回一個空的 Selector,從而致使全部的資源被篩選出。ide
調度器優化了計算親和性分數時的性能,將循環內部的一個讀寫鎖移到了 goroutine 最外層(優化了鎖粒度)。
使用 discovery endpoint 時會等待 CRD 同步狀態完畢後再上報 readiness,解決了 discovery enxpoint 啓動後會短暫不可用的問題。
Kubelet 進行 out-of-pid eviction 時,目前僅利用 PodPriority 來進行排序,這個 KEP 計劃加入更多進程級別數據(例如 Pod 內進程數)來進行 eviction。
支持基於容器級別資源來進行 autoscaling,緣由是目前單個 Pod 中可能存在如下特殊場景:
這個設計文檔主要是考慮如何實現,列出了四種方法以及他們的優缺點,四種方法分別是直接使用 K8s 的定義,直接放到環境變量,使用 annotation描述,使用 Knative 自定義的描述。
Istio Networking 工做組的最新討論結果,決定從 Istio1.6 以後移除 Galley:Galley 原有的職責驗證(validation)和狀態控制器(status controllers)已經合併到 Istiod,而 Galley 剩餘的職責 MCP Source 將被直接刪除。備註:MCP 功能還存在,Istiod 保留有 MCP sync 的角色。
BotKube 是一個監控 Kubernetes 集羣並提供告警服務的應用,支持推送消息至 Slack,Mattermost 以及ElasticSearch。它經過規則過濾 Kubernetes 事件並進行定向報警。另外還提供對當前集羣中的資源作一些固定的 YAML 檢查。
PrometheusAlert 是一個運維告警中心消息轉發系統,支持主流的監控系統 Prometheus , Zabbix , 日誌系統 Graylog 和數據可視化系統 Grafana 發出的預警消息,支持釘釘等各類主流告警方式。
一個高性能、雲原生的分佈式 SQL 數據庫,適用於雲原生 OLTP 應用,具備較高的拓展性、容錯性以及支持異地容災。
隨着 Kubernetes 版本迭代,有一部分 API 被逐漸 deprecate 。這篇文章介紹瞭如何用 Deprek8 ,一個基於 Open Policy Agent 規則的工具,對你倉庫中的 YAML 是否引用 deprecated API 進行檢測。
文章詳細介紹了 Kubernetes 中的 QoS 機制,並介紹了 OOM 發生後,Linux Kill 進程的過程以及 Kubernetes 如何 evict Pod。
文章深刻探討了 CI/CD 的關鍵點,包括版本控制、開發分支與模式、發佈流水線以及自動化測試等。
介紹了 Kubernetes 1.18 中在 Server-side Apply 上新增的特性。1.18 中增長了 managedFields,全部 server-side apply 都被記錄在 mangedFields 中,包括修改的字段、修改時間以及修改人。
「 阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,作最懂雲原生開發者的公衆號。」