Kubernetes v1.19版原本了,有哪些重磅更新?

Kubernetes 1.19 版本終於來啦!這是2020年的第二個版本,也是迄今爲止最長的發佈週期,總共持續20周。它由33項加強功能組成。12個加強功能進入穩定版,18個加強功能進入測試版,13個加強功能進入alpha版。 git

將 Kubernetes 支持窗口增長到一年

長期支持(LTS)工做組在2019年初進行的一項調查顯示在當前的9個月支持期內,很大一部分 Kubernetes 用戶未能升級。這一點以及調查中的其餘反應代表,若是將補丁支持期延長至12-14個月,則30%的用戶可以將其部署保持在支持的版本上。不管用戶使用的是自建版仍是商業發行版,狀況都是如此。所以,延長支持期將致使超過 80% 的用戶使用受支持的版本,而不是如今的 50-60%。一年一度的支持期可爲用戶提供所需的緩衝期,而且更符合熟悉的年度規劃週期。從 Kubernetes 1.19 版本開始,支持窗口將延長到一年。github

儲存容量追蹤

傳統上,Kubernetes 調度器基於這樣的假設:集羣中任何地方均可以使用額外的持久性存儲,並具容量無限。拓撲約束解決了第一點,但到目前爲止,Pod 調度仍然沒有考慮剩餘的存儲容量可能不足以啓動一個新的 pod。存儲容量追蹤是一個新的 Alpha 特性,它經過爲 CSI 驅動程序添加一個 API 來解決這個問題,以報告存儲容量,並在 Kubernetes 調度器中爲 Pod 選擇節點時使用該信息。該功能可做爲支持本地卷和其餘容量限制較大的卷類型的動態預配置的基礎。正則表達式

通用臨時存儲

Kubernetes 提供了卷插件,其生命週期與 Pod 綁定,可用做臨時空間(例如內置的 emptydir 卷類型),也能夠將一些數據加載到 Pod 中(例如內置的configmapsecret 卷類型)。新的通用暫存卷 alpha 功能容許任何現有的支持動態供應的存儲驅動程序被用做 ephemeral 卷,並將該卷的生命週期綁定到 Pod。它能夠用來提供不一樣於根磁盤的臨時存儲,例如持久內存或者該節點上的獨立本地磁盤。支持全部用於卷供應的 StorageClass 參數。支持 PersistentVolumeClaims 支持的全部功能,如存儲容量跟蹤、快照和還原以及卷的大小調整。bootstrap

CSI Volume 健康監測

CSI 健康情況監控的 Alpha 版本隨 Kubernetes 1.19 一塊兒發佈。該功能使 CSI 驅動程序可以與 Kubernetes 共享來自底層存儲系統的異常卷情況,以便將其做爲事件報告在 PVCPod 上。此功能是 Kubernetes 進行程序檢測和解決單個卷健康問題的基礎。api

Ingress 升級爲 GA

就將 Ingress API 推向 GA 而言,API 自己在 Beta 版中已經存在了很長時間,以致於經過使用和採用(包括用戶和負載均衡器 Ingress 控制器提供商),它已經達到了事實上的 GA 狀態。在沒有全面替代的狀況下放棄它不是一個可行的方法。它顯然是一個有用的 API,而且捕獲了一組不平凡的用例。在這一點上,彷佛更謹慎的作法是將當前的 API 聲明爲社區將支持的 V1 版本,同時開發 V2 Ingress API 或具備超集功能的徹底不一樣的 API安全

結構化日誌

v1.19 以前,Kubernetes 控制平面中的日誌記錄沒法保證日誌消息和這些日誌中對 Kubernetes 對象的引用有任何統一的結構。這使得對日誌的解析、處理、存儲、查詢和分析變得困難,並迫使管理員和開發人員在大多數狀況下依靠基於一些正則表達式的臨時解決方案。因爲這些問題,任何基於這些日誌的分析解決方案都很難實現和維護。服務器

新的 klog 方法

這個 Kubernetes 版本爲 klog 庫引入了新的方法,該方法提供了用於格式化日誌消息的更結構化的接口。每一個現有的格式化日誌方法(Infof,Errorf)都經過結構化方法(InfoS,ErrorS)進行匹配。新的日誌記錄方法將日誌消息做爲第一個參數,將鍵值對列表做爲可變參數的第二個參數。這種方法容許逐步採用結構化日誌記錄,而無需一次將全部 Kubernetes 轉換爲新的API。app

Kubelet 的客戶端 TLS 證書輪轉

kubelet 使用私鑰和證書對 kube-apiserver 進行認證。證書是在 kubelet 首次啓動時經過集羣外機制提供給它的。自 Kubernetes v1.8 以來,集羣已經包含了一個(beta)流程,用於獲取初始的證書/密鑰對,並在證書到期臨近時進行輪轉,在 Kubernetes v1.19 中,這個功能能夠穩定下來了。負載均衡

kubelet 啓動過程當中,將對文件系統進行掃描,以查找由證書管理器管理的現有證書/密鑰對。若是有可用的證書/密鑰,則將加載它。若是沒有,則 kubelet 會檢查配置文件中的編碼證書值或 kubeconfig 中的文件引用。若是證書是一個 bootstrap 證書,則它將用於生成密鑰,建立證書籤名請求並向 API服務器請求籤名的證書。微服務

當到期臨近時,證書管理器會負責提供正確的證書,生成新的私鑰和請求新的證書。隨着 kubelet 請求證書的簽名是其啓動過程的一部分,而且不斷地對來自 kubelet 的證書籤名請求進行自動批准,以使集羣變得易於管理。

其餘更新

如下功能迎來穩定版

  • Seccomp
  • Kubelet客戶端TLS證書輪替
  • 限制節點對API的訪問
  • 從新設計Event API
  • Ingress畢業爲V1穩定版
  • CertificateSigningRequest API
  • 無需Docker構建Kubelet

重大變化

  • 節點拓撲管理器
  • 新的端點API
  • 將Kubernetes支持週期延長至一年

其餘重要變化

  • 運行多個Scheduling Profiles
  • CertificateSigningRequest API
  • 不可變Secrets與ConfigMaps

發行說明

在咱們的發行說明(https://github.com/kubernetes... Kubernetes 1.19 發行版的完整詳細信息。

可用性

Kubernetes 1.19能夠在GitHub(https://github.com/kubernetes...。要開始使用 Kubernetes,請查看這些交互式教程(https://kubernetes.io/docs/tu... KinD(Docker中的Kubernetes)的 Docker 容器「節點」運行本地 Kubernetes 集羣。您還可使用kubeadm 輕鬆安裝1.19 。

發佈團隊

這個版本的發佈是經過數百人的努力,他們貢獻了技術和非技術內容。特別感謝 HashiCorp 的高級開發人員倡導者T aylor Dolezal 領導的發佈團隊。34位發佈團隊成員協調了發佈的各個方面,從文檔到測試、驗證和功能完整性。

隨着 Kubernetes 社區的發展,咱們的發佈過程表明了開源軟件開發中協做的驚人表現。Kubernetes 繼續以快速的速度得到新用戶。這種增加創造了一個積極的反饋循環,更多的貢獻者提交代碼創造了一個更有活力的生態系統。迄今爲止,Kubernetes 已經有超過49,000名我的貢獻者,以及一個超過3,000人的活躍社區

發佈 Logo

全部人都啓發了這個 Kubernetes 1.19 版本 Logo!這個版本有點像是一場馬拉松比賽,也證實了當世界是一個狂野的地方,咱們能夠彙集在一塊兒,作難以想象的事情。

Kubernetes 1.19 發佈 Logo

之因此選擇「強調爪子-本地化」做爲發佈主題,是由於它捕捉了發佈團隊儘管世界情況良好的積極前景。1.19徽標中顯示的字符表明了咱們發行團隊中每一個人的個性,從emo到peppy,甚至更多!

關於設計師:漢娜貝絲·拉格洛夫(Hannabeth Lagerlof)是位於加利福尼亞州洛杉磯的視覺設計師,她在環境和圖形設計領域擁有普遍的背景。漢娜貝斯(Hannabeth)創造藝術和用戶體驗來激發聯繫。您能夠在Twitter上以@emanate_design的身份找到Hannabeth。

從長遠來看

這次發佈的內容也與加強功能方面有所不一樣。傳統上,咱們有3-4周的時間,從呼籲加強功能到加強功能凍結,這段時間結束後,貢獻者能夠確認某項功能是否會成爲週期的一部分。此次發佈週期很特殊,咱們有五個星期的時間來完成同一個里程碑。延長的時間給了貢獻者更多的時間來計劃和決定他們各自功能的畢業。

貢獻者實現功能的里程碑從一般的5周延長到7周。貢獻者們多了40%的時間來研究他們的功能,從而減小了疲勞,有更多的時間來思考如何實現。咱們還注意到,最後一刻的忙碌也大大減小了。這個週期的異常請求數量也減小了--6個,而上一個發佈週期是14個。

生態系統更新

  • CNCF 剛剛結束了它的第一屆虛擬 KubeCon。全部講座均爲點播,凡是註冊的人均可以參加,如今還來得及!
  • 認證 Kubernetes 安全專家(CKS)將於11月推出!CKS專一於集羣與系統加固、最小化微服務漏洞和供應鏈的安全。
  • CNCF發佈了第二份《雲原生開發現狀》,顯示使用容器和無服務器技術的雲原生開發者數量大規模增加。
  • Kubernetes.dev,一個專一於 Kubernetes 貢獻者的網站已經推出。它將貢獻者文檔、資源和項目活動信息集中到一箇中心位置。

項目速度

Kubernetes DevStats 儀表盤(https://k8s.devstats.cncf.io/...,以及一套使人印象深入的預配置報告,從我的貢獻者到拉動請求生命週期時間。若是你想從 Kubernetes 和 CNCF 社區收集數字、事實和數據,它是最好的開始。

在4月到8月的這個發佈週期中,有382家不一樣的公司和超過2464名我的爲Kubernetes 作出了貢獻。查看 DevStats(https://k8s.devstats.cncf.io/...,能夠了解更多關於 Kubernetes 項目和社區的總體速度。

image

相關文章
相關標籤/搜索