天天看點

Argo 項目加入 CNCF 孵化器 | 雲原生生态周報 Vol. 45業界要聞上遊重要進展開源項目推薦本周閱讀推薦雲原生網絡研讨會邀您參加

Argo 項目加入 CNCF 孵化器 | 雲原生生态周報 Vol. 45業界要聞上遊重要進展開源項目推薦本周閱讀推薦雲原生網絡研讨會邀您參加

作者 | 陳潔、高相林、陳有坤、敖小劍

業界要聞

  1. Argo 項目加入 CNCF 孵化器

Argo 項目是一組 Kubernetes 原生工具,用于運作和管理 Kubernetes 上的作業和應用程式。目前由 Argo Workflows,Argo Events,Argo CD 和 Argo Rollouts 四個子項目組成。4 月 8 日,CNCF 技術監督委員會(Technical Oversight Committee,TOC)投票決定接受 Argo 作為孵化級别的托管項目。

  1. Argo CD v1.5 release

Argo CD 釋出 v1.5 版本,v1.5 在性能上進行了大幅度的優化,同時降低了對 APIServer 的壓力;此外,v1.5 還對 Helm 3 charts 進行了支援。

  1. CloudNativeSummit 召開

4 月 7 日,CloudNative 峰會在 youtube 上通過直播形式召開,峰會主要介紹了 CNCF 畢業項目(包括 Kubernetes,Prometheus,Envoy,Jaeger 等)的最新進展以及讨論未來在雲原生技術上的一些新的動向。

  1. CNCF 釋出疫情期間健康工作指導

受 COVID-19 疫情影響,大多數人開啟了居家辦公模式,社交關系拉遠,不管是對身體健康還是心理健康都有所影響。CNCF Well-Being Working Group 提供了一份疫情期間工作指導,包括一些常見問題的解答以及建議。

  1. COVID-19 : 延長對 Helm v2 的錯誤修複

因 COVID-19,Helm 維護人員決定延長 Helm v2 的 Bug 修複服務時間。

上遊重要進展

  1. Even with build error, kubectl apply should apply all valid resources

優化了 kubectl apply 的邏輯,盡可能多的 apply YAML 中的有效資源。

  1. kubelet add initial support for cgroupv2

支援在 cgroup v2 unified mode 的機器上跑 kubelet。同時做了 cpu.shares(門檻值為 2-262144 )到 cpu.weight(門檻值為 1-10000)的轉換。

  1. apiserver: add a metric exposing etcd database size 

在 apiserver 端暴露了一個 etcd db size 使用量的 metric。

  1. Fix SelectorFromSet: add a ValidatedSelectorFromSet

解決了一個沒有對 Selector 結果進行校驗的 Bug。目前使用 labels.SelectorFromSet,如果解析失敗(例如 label value 誤填了一個很長的值),會傳回一個空的 Selector,進而導緻所有的資源被篩選出。

  1. Reduce locking when calculating affinity scores

排程器優化了計算親和性分數時的性能,将循環内部的一個讀寫鎖移到了 goroutine 最外層(優化了鎖粒度)。

  1. apiextensions: wait for complete discovery endpoint

使用 discovery endpoint 時會等待 CRD 同步狀态完畢後再上報 readiness,解決了 discovery enxpoint 啟動後會短暫不可用的問題。

  1. Add pod-level process stats to the summary API for out-of-pid eviction

Kubelet 進行 out-of-pid eviction 時,目前僅利用 PodPriority 來進行排序,這個 KEP 計劃加入更多程序級别資料(例如 Pod 内程序數)來進行 eviction。

  1. HPA scaling based on container resources

支援基于容器級别資源來進行 autoscaling,原因是目前單個 Pod 中可能存在以下特殊場景:

  • 多個容器有不同的資源門檻值;
  • 有多個容器,但是 autoscaling 隻基于單個容器的資源門檻值。
  1. knative 暴露 Downward API

這個設計文檔主要是考慮如何實作,列出了四種方法以及他們的優缺點,四種方法分别是直接使用 K8s 的定義,直接放到環境變量,使用 annotation描述,使用 Knative 自定義的描述。

  1. 移除 Galley 和 MCP Source

 Istio Networking 工作組的最新讨論結果,決定從 Istio1.6 之後移除 Galley:Galley 原有的職責驗證(validation)和狀态控制器(status controllers)已經合并到 Istiod,而 Galley 剩餘的職責 MCP Source 将被直接删除。備注:MCP 功能還存在,Istiod 保留有 MCP sync 的角色。

開源項目推薦

  1. BotKube

BotKube 是一個監控 Kubernetes 叢集并提供告警服務的應用,支援推送消息至 Slack,Mattermost 以及ElasticSearch。它通過規則過濾 Kubernetes 事件并進行定向報警。另外還提供對目前叢集中的資源做一些固定的 YAML 檢查。

Argo 項目加入 CNCF 孵化器 | 雲原生生态周報 Vol. 45業界要聞上遊重要進展開源項目推薦本周閱讀推薦雲原生網絡研讨會邀您參加
  1. PrometheusAlert

PrometheusAlert 是一個運維告警中心消息轉發系統,支援主流的監控系統 Prometheus , Zabbix , 日志系統 Graylog 和資料可視化系統 Grafana 發出的預警消息,支援釘釘等各種主流告警方式。

  1. YugabyteDB

一個高性能、雲原生的分布式 SQL 資料庫,适用于雲原生 OLTP 應用,具有較高的拓展性、容錯性以及支援異地容災。

本周閱讀推薦

  1. 《How to detect outdated Kubernetes APIs》

随着 Kubernetes 版本疊代,有一部分 API 被逐漸 deprecate 。這篇文章介紹了如何用 Deprek8 ,一個基于 Open Policy Agent 規則的工具,對你倉庫中的 YAML 是否引用 deprecated API 進行檢測。

  1. 《quality of service and oom in Kubernetes》

文章詳細介紹了 Kubernetes 中的 QoS 機制,并介紹了 OOM 發生後,Linux Kill 程序的過程以及 Kubernetes 如何 evict Pod。

  1. 《A primer: Continuous Integration and Continuous Delivery (CI/CD) 》

文章深入探讨了 CI/CD 的關鍵點,包括版本控制、開發分支與模式、釋出流水線以及自動化測試等。

  1. 《Kubernetes 1.18 Feature Server-side Apply Beta2》

介紹了 Kubernetes 1.18 中在 Server-side Apply 上新增的特性。1.18 中增加了 managedFields,所有 server-side apply 都被記錄在 mangedFields 中,包括修改的字段、修改時間以及修改人。

雲原生網絡研讨會邀您參加

點選立即預約直播
Argo 項目加入 CNCF 孵化器 | 雲原生生态周報 Vol. 45業界要聞上遊重要進展開源項目推薦本周閱讀推薦雲原生網絡研讨會邀您參加
阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公衆号。”

繼續閱讀