Kubernetes 1.22釋出

今天,K8S開發團隊宣佈釋出新版本1。22,2021年釋出的第二個版本。該版本共包含53項功能增強,其中13項增強功能已升級到穩定版,24項增強功能正在進入測試版,16項增強功能正在進入Alpha版本。另外,該版本中還刪除了三個功能。

全新標誌

Kubernetes 1.22釋出

新版本中除了釋出了包括最大功能增強數量(53)外,還發布了K8S全新的Logo,新logo呼籲保護環境,保護地球生態系統。

主要功能

伺服器端申請GA

Server-side Apply 是執行在Kubernetes API伺服器上的一種新的欄位所有權和物件合併演算法。伺服器端應用透過宣告式配置幫助使用者和控制器管理資源。它允許以宣告方式建立和/或修改他們的物件,只需傳送他們完全指定的意圖。在幾個版本的測試版之後,伺服器端應用現在普遍可用。

外部憑據提供程式現在穩定

對Kubernetes客戶端支援憑據外掛sample-exec-plugin自1。11以來,一直處於測試階段,隨著 Kubernetes 1。22 的釋出,現在逐漸穩定。GA功能集包括對提供互動式登入流程的外掛的改進支援,以及許多錯誤修復。

etcd 升級到3。5。0

Kubernetes的預設後端儲存etcd升級到了新版本:3。5。0。新版本改進了安全性、效能、監控和開發人員體驗。 有許多錯誤修復和一些關鍵的新功能,例如遷移到結構化日誌記錄和內建日誌輪換。該版本附帶了詳細的未來路線圖,以實施交透過載的解決方案。

記憶體資源的服務質量

最初,Kubernetes使用v1 cgroups API。 使用這種設計,QoS等級為Pod僅適用於CPU 資源(例如 cpu_shares)。Kubernetes v1。22 現在提供alpha版本的cgroups v2 API來控制記憶體分配和隔離。該功能旨在在記憶體資源爭用時提高工作負載和節點可用性,並提高容器生命週期的可預測性。

節點系統交換支援

每個系統管理員或 Kubernetes 使用者在設定和使用Kubernetes方面都禁用交換空間。在Kubernetes 1。22中,現在可以執行alpha版本的交換記憶體的節點。該功能允許管理員選擇在Linux節點上配置交換,將塊儲存的一部分視為額外的虛擬記憶體。

Windows 增強功能和功能

SIG Windows 繼續支援不斷增長的開發人員社群,釋出了開發環境。這些新工具支援多個CNI提供程式並且可以在多個平臺上執行。透過編譯 Windows kubelet和 kube-proxy,然後將它們與其他Kubernetes 元件的日常構建一起使用,還有一種從頭開始執行Windows功能的新方法。

CSI對Windows節點的支援在1。22 版本中移至GA版本中。 在Kubernetes v1。22 中,Windows特權容器還是alpha功能。為了允許在Windows節點上使用CSI儲存, CSIProxy 為非允許將CSI節點外掛部署特權pod,使用代理在節點上執行特權儲存操作。

seccomp 的預設配置檔案

kubelet中添加了預設seccomp配置檔案,以及新的命令列標誌和配置。使用時,新功能提供叢集範圍的seccomp預設值,使用RuntimeDefaultseccomp配置檔案而不是 Unconfined預設情況下。這增強了Kubernetes部署的預設安全性。安全管理員現在知道工作負載在預設情況下更安全, seccomp 的預設配置為alpha功能

使用 kubeadm 實現更安全的控制平面

一個新的alpha功能為允許執行kubeadm控制平面元件作為非root使用者。這是一項長期要求的安全措施 kubeadm。 要嘗試它,必須啟用kubeadm特定的 RootlessControlPlane 功能門。使用此alpha功能部署叢集時,控制平面以較低的許可權執行。

為了kubeadm,Kubernetes 1。22 還帶來了新的v1beta3 配置 API。改迭代添加了一些長期請求的功能並棄用了一些現有功能。v1beta3 版本現在是首選的API 版本;v1beta2 API 也仍然可用。

其他變化

刪除了幾個已棄用的 beta API

1。22 中刪除了許多已經棄用的beta版API,以支援這些API的GA版本。所有現有物件都可以透過穩定的 API 進行互動。

Ingress, IngressClass, Lease, APIService, ValidatingWebhookConfiguration, MutatingWebhookConfiguration, CustomResourceDefinition, TokenReview, SubjectAccessReview,和 CertificateSigningRequest

臨時容器的API更改和改進

用於建立的API臨時容器在1。22 中發生了變化。Ephemeral Containers功能是 alpha並預設禁用,新API不相容舊API的客戶端。

對於穩定特性,kubectl工具遵循Kubernetes版本傾斜策略;但是,kubectl v1。21及更早版本不支援臨時容器的新 API。如果打算使用 kubectl debug建立臨時容器,並且叢集正在執行Kubernetes v1。22,則不能使用kubectl v1。21或更早版本執行此操作。如果想使用,請將kubectl更新到1。22 kubectl debug混合使用叢集版本。

值得注意的功能更新

引入了新的 PodSecurity 准入alpha功能,用於替代 PodSecurityPolicy

記憶體管理器 進入測試版。

啟用新alpha功能API 伺服器跟蹤器。

新v1beta3版本kubeadm 配置格式。

通用資料填充 PersistentVolumes的器在alpha版中可用。

Kubernetes 控制平面現在將始終使用CronJobs v2 控制器。

alpha 功能,所有Kubernetes節點元件(包括 kubelet、kube-proxy 和容器執行時)都可以以非 root 使用者身份執行。

相關文章