雲原生生態週報 Vol. 27:Helm 3 發佈

前言

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

業界要聞

1.Helm 3 發佈

美國時間 11 月 13 日,Helm 團隊發佈 Helm 3 第一個穩定版本。Helm 3 以 Helm 2 的核心特性爲基礎,改進了 chart 存儲庫、版本管理、安全性和 chart 庫。在這個版本中,Helm 維護者整合了來自社區的反饋和請求,以更好地滿足 Kubernetes 用戶和廣泛的雲原生生態系統的需求。附:博客地址

2.Github Octoverse 報告發布

報告顯示,JavaScript 依然是最受歡迎的語言,Python 反超 Java 成爲第二名,Kubernetes 進入最受歡迎的開源項目 Top10。

3.KubeCon + CloudNativeCon 北美地區會議召開

KubeCon + CloudNativeCon North America 2019 將在下週(11 月 18 日 - 11月 21 日)在 San Diego 召開。

4.CNCF 發佈 Prometheus 項目發展報告

這是繼 Kubernetes 和 Envoy 之後,發佈的第三份關於 CNCF 畢業項目的報告。本報告試圖客觀地評估 Prometheus 項目的狀態,以及 CNCF 如何影響 Prometheus 項目的進展和成長。

5.Kubernetes release 1.17

Kubernetes release 1.17 將於週四(11 月 14 日)code freeze。

上游重要進展

Kubernetes Feature

權衡使用 CacheObject 的開銷,當 watcher 的數量大於 3 的情況下才使用,小幅度提升 watcher 性能。

當存在 encoding error 時需要及時關閉 watcher,防止出現 goroutine 泄漏。

Kubelet 增加了一個 kubelet_preemptions 的 Metric 去記錄 Pod 因缺少資源而被 evict 的次數,短時間內大量的 evict 可以反映出 scheduler 或者 controller 上可能有 BUG。

Kubelet 增加一個 Histogram Metric 記錄集羣中所有 Kubelet 的證書過期時間。

KEP

增加 scheduler priority ReadyPodPriority ,適用於例如新加入的集羣的 node,會在短時間內被調度大量的 pod,同時啓動多個 pod 可能造成壓力過大的情況。

用來追蹤一個 Object 在不同 Kubernetes 組件中的整個生命週期。

ETCD

  • 優化 compact:將 compact 和 put/range handler 放在不同的 goroutine,減少 compact 阻塞 put/range 的情況;

  • boltdb freelistType 的 Feature 從 experimental 提升至 GA(3.5),默認的 freelistType 從 array 改爲 map;

  • 爲 etcd server 的 put、range、compact 請求過程增加 tracing,與 apiserver tracing 方式一致,記錄 raft、內存 btree 索引、boltdb 等多個查詢過程的耗時,便於排查性能問題,txn 暫不支持。

Istio

Istio 和 Envoy 當前支持兩種主要的解析形式,用於對服務的流量進行負載均衡:基於 IP 的終端列表(EDS)和基於 IP 的主機列表(STRICT_DNS),由 Envoy 在運行時解析。

社區在討論支持新的用例,要求可以使用混合解析模型:服務既可以包含基於 IP 地址的終端,也可以包含需要進行 DNS 解析的主機名。滿足這個需求的方法之一是在 Envoy 中引入 Aggregate Cluster 的概念,Aggregate Cluster 包含 EDS cluster 和 STRICT_DNS cluster,當 EDS cluster 失敗時,回退到 STRICT_DNS cluster。

計劃以增量方式來推進 Istiod 合併部署控制平面的方案,建議的合併順序是:Sidecar injector,Galley,Citadel。Istiod 計劃在 1.5 版本中提供並作爲默認安裝方式,現有客戶可以逐漸將組件遷移到 Istiod。

這個 Proposal 提出通過將每個虛擬機註冊爲 ExternalInstance(視爲非託管 Pod),在 VM 和服務之間添加一個間接層,從而改善 Mesh 的擴展。這將解耦網格中的 VM 成員資格與路由和服務命名事項。

Knative

發起 Knative eventing 組件 serverless 化的討論。當前 consumer service 可通過 knative-serving 部署,具備 autoscale 的能力。但是 Knative eventing 本身組件(sources, channels, brokers, …) 不具備 scale 能力。

開源項目推薦

quarkus

雲原生 Java 應用框架,精簡了 OpenJDK 的 HotSpot 和 GraalVM,啓動速度快,RSS memory 開銷小。

kfserving

serverless 機器學習 model serving 框架。

tracee

利用 eBPF 的容器 tracing 工具,可以收集容器中進程調用的 syscall 等。

NexClipper

是一種快速簡單的 Kubernetes 解決方案。

本週閱讀推薦

1.《Kubernetes Scheduler 101》

系統化介紹 Kubernetes 中 Pod 調度的過程以及 Scheduler 組件的工作原理。

2.《Building a Large-scale Distributed Storage System Based on Raft》

介紹了 TiDB 如何基於 raft 構建大型存儲系統,解決分片、擴展性、一致性、可用性等問題。

3.《AutoTiKV:基於機器學習的數據庫調優》

利用自動超參搜索對 TiKV 及其底層的 RocksDB 進行參數搜索和調節。

4.《Primier:What is Container Security?》

本文主要介紹了應該使用哪些最佳安全實踐,來保證容器和平臺在安全的環境下運行。

5.《Knative Serving 健康檢查機制分析》

本文從 Knative 的健康檢查的角度來分析 Serverless 模式和傳統的模式的不同,介紹 Knative 針對 Serverless 場景的獨特考慮。

相關閱讀

雲原生生態週報 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)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章