天天看點

Helm 3 釋出 | 雲原生生态周報 Vol. 27

作者 | 墨封、元毅、冬島、敖小劍、衷源

Helm 3 釋出 | 雲原生生态周報 Vol. 27

業界要聞

1.

Helm 3 釋出

美國時間 11 月 13 日,Helm 團隊釋出 Helm 3 第一個穩定版本。Helm 3 以 Helm 2 的核心特性為基礎,改進了 chart 存儲庫、版本管理、安全性和 chart 庫。在這個版本中,Helm 維護者整合了來自社群的回報和請求,以更好地滿足 Kubernetes 使用者和廣泛的雲原生生态系統的需求。附:

部落格位址

2.

Github Octoverse 報告釋出 報告顯示

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

Helm 3 釋出 | 雲原生生态周報 Vol. 27

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 開銷小。

Helm 3 釋出 | 雲原生生态周報 Vol. 27

kfserving

serverless 機器學習 model serving 架構。

Helm 3 釋出 | 雲原生生态周報 Vol. 27

tracee

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

NexClipper

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

本周閱讀推薦

《Kubernetes Scheduler 101》

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

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

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

《AutoTiKV:基于機器學習的資料庫調優》

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

《Primier:What is Container Security?》

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

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

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

更多詳細資訊請關注“

阿裡巴巴雲原生

”。

“阿裡巴巴雲原生微信公衆号(ID:Alicloudnative)關注微服務、Serverless、容器、Service Mesh等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術公衆号。”

繼續閱讀