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

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

0

業界要聞

1.Helm 3 發佈linux

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

2.Github Octoverse 報告發布github

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

1 

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

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

2

kfserving

serverless 機器學習 model serving 框架。

3

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 場景的獨特考慮。

更多詳細信息請關注「阿里巴巴雲原生」。

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

相關文章
相關標籤/搜索