Categories
程式開發

雲原生生態週報 Vol. 45:Argo 項目加入 CNCF 孵化器


前言

《雲原生生態週報》由阿里雲容器平台聯合螞蟻金服共同發布,每週一期。眾多一線社區專家與您一起“跟踪動態,讀懂社區”,分享雲原生社區項目進展、活動發布、精選博客等信息。以下是第四十五期雲原生生態週報的內容。

業界要聞

1.Argo 項目加入 CNCF 孵化器

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

2.Argo CD v1.5 release

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

3.CloudNativeSummit 召開

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

4.CNCF 發布疫情期間健康工作指導

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

5.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 中的有效資源。

2.kubelet add initial support for cgroupv2

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

3.apiserver: add a metric exposing etcd database size

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

4.Fix SelectorFromSet: add a ValidatedSelectorFromSet

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

5.Reduce locking when calculating affinity scores

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

6.apiextensions: wait for complete discovery endpoint

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

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

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

8.HPA scaling based on container resources

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

  • 多個容器有不同的資源閾值;

  • 有多個容器,但是 autoscaling 只基於單個容器的資源閾值。

9.knative 暴露 Downward API

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

10.移除 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 檢查。

雲原生生態週報 Vol. 45:Argo 項目加入 CNCF 孵化器 1

2.PrometheusAlert

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

3.YugabyteDB

一個高性能、雲原生的分佈式 SQL 數據庫,適用於雲原生 OLTP 應用,具有較高的拓展性、容錯性以及支持異地容災。

本週閱讀推薦

1.《How to detect outdated Kubernetes APIs》

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

2.《quality of service and oom in Kubernetes》

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

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

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

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

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

相關閱讀

雲原生生態週報 Vol. 44:Gartner 發布容器公有云競爭格局報告
雲原生生態週報 Vol. 43:K8s 1.18 正式 release
雲原生生態週報 Vol. 42:GitHub 宣布正式收購 npm
雲原生生態週報 Vol. 41: CNCF 2019 年度報告重磅發布
雲原生生態週報 Vol. 40:API Server 負載均衡問題被解決
雲原生生態週報 Vol. 39:Golang 1.14 發布
雲原生生態週報 Vol. 38:Apache Flink 1.10.0 發布
雲原生生態週報 Vol. 37:國內首個 Kubernetes SIG-Cloud-Provider 子項目揭秘
雲原生生態週報 Vol. 36:CNCF 公佈 2020 年 TOC 選舉結果
雲原生生態週報 Vol. 35:Falco 進入 CNCF Incubator 項目
雲原生生態週報 Vol. 34:VMware 完成 27 億美元的 Pivotal 收購
雲原生生態週報 Vol. 33:CNCF 宣布 TUF 畢業
雲原生生態週報 Vol. 32:Istio 1.5 版本開發中
雲原生生態週報 Vol. 31:Kubernetes v1.17 版本解讀
雲原生生態週報 Vol. 30:Rancher 新版本默認支持 Kubernetes 1.16
雲原生生態週報 Vol. 29:Kubernetes 擬支持 Cgroup v2
雲原生生態週報 Vol. 28:Mirantis 收購 Docker 企業業務
雲原生生態週報 Vol. 27:Helm 3 發布
雲原生生態週報 Vol. 26:2019 年容器生態統計報告發布
雲原生生態週報 Vol. 25:Canonical 開源 MicroK8
雲原生生態週報 Vol. 24:Ubuntu 19.10 發布
雲原生生態週報 Vol. 23:全球首個開放應用模型 OAM 開源
雲原生生態週報 Vol. 22:Knative 暫時不會捐給任何基金會
雲原生生態週報 Vol. 21:Traefik 2.0 正式發布
雲原生生態週報 Vol. 20:Kubernetes v1.16 發布
雲原生生態週報 Vol. 19:Helm 推薦用戶轉向 V3
雲原生生態週報 Vol. 18:獨家解讀 etcd 3.4 新特性
雲原生生態週報 Vol. 17 :Helm 3 發布首個 beta 版本
雲原生生態週報 Vol. 16:CNCF 歸檔 rkt,容器運行時“上古”之戰老兵凋零
雲原生生態週報 Vol. 15:K8s 安全審計報告發布
雲原生生態週報 Vol. 14:K8s CVE 修復指南
雲原生生態週報 Vol. 13 | Forrester 發布企業級容器平台報告
雲原生生態週報 Vol. 12 |K8s 1.16 API 重大變更
雲原生生態週報 Vol. 11 | K8s 1.16 早知道
雲原生生態週報 Vol. 10 | 數據庫能否運行在 K8s 當中?
雲原生生態週報 Vol. 9 | K8s 1.15 後的性能提升
雲原生生態週報 Vol. 8 | Gartner 發布雲原生趨勢
雲原生生態週報 Vol. 7 | Docker 再爆 CVE
雲原生生態週報 Vol. 6 | KubeCon EU 亮點匯總
雲原生生態週報 Vol. 5 | etcd 性能知多少
雲原生生態週報 Vol.4 | Twitter 從 Mesos 全面轉向 Kubernetes
雲原生生態週報 Vol. 3 | Docker Hub 遭入侵,Java 8 開始提供良好的容器支持
雲原生生態週報 Vol. 2 | Godaddy 開源 KES、CNCF 提供免費云原生課程
雲原生生態週報 Vol. 1 | Google 發布 Cloud Run,開源項目 Kubecost 讓 K8s 花費一目了然

本文轉載自阿里巴巴雲原生微信公眾號(ID:Alicloudnative)。