Kubernetes 1.23:新的前沿
我們很高興地宣佈釋出 Kubernetes 1.23,這是 2021 年的最後一個版本!
此版本包含 47 項增強:11 項增強已升級到穩定版,17 項增強正在轉向測試版,19 項增強正在進入 Alpha 版。此外,1 項功能已被棄用。
主要主題
FlexVolume 棄用
FlexVolume 已棄用。樹外 CSI 驅動是 Kubernetes 中編寫卷驅動的推薦方式。有關更多資訊,請參閱此文件。FlexVolume 驅動的維護者應實現 CSI 驅動並將 FlexVolume 使用者遷移到 CSI。FlexVolume 使用者應將其工作負載遷移到 CSI 驅動。
klog 特定標誌的棄用
為了簡化程式碼庫,Kubernetes 1.23 中將幾個日誌標誌標記為已棄用。實現它們的程式碼將在未來的版本中刪除,因此這些標誌的使用者需要開始使用其他解決方案替換已棄用的標誌。
Kubernetes 釋出過程中的軟體供應鏈 SLSA 1 級合規性
Kubernetes 釋出現在生成描述釋出過程的階段和釋出階段的出處證明檔案。現在,在工件從一個階段移交給下一個階段時,它們會得到驗證。這最後一步完成了符合 SLSA 安全框架(軟體工件的供應鏈級別)級別 1 所需的工作。
IPv4/IPv6 雙棧網路升級到 GA
IPv4/IPv6 雙棧網路升級到 GA。自 1.21 版以來,Kubernetes 叢集預設啟用雙棧網路支援。在 1.23 版中,`IPv6DualStack` 功能門已刪除。使用雙棧網路不是強制性的。儘管叢集已啟用雙棧網路支援,但 Pod 和 Service 仍預設使用單棧。要使用雙棧網路,Kubernetes 節點必須具有可路由的 IPv4/IPv6 網路介面,必須使用支援雙棧的 CNI 網路外掛,必須將 Pod 配置為雙棧,並且 Service 的 `.spec.ipFamilyPolicy` 欄位必須設定為 `PreferDualStack` 或 `RequireDualStack`。
HorizontalPodAutoscaler v2 升級到 GA
HorizontalPodAutoscaler `autoscaling/v2` 穩定 API 在 1.23 版中升級到 GA。HorizontalPodAutoscaler `autoscaling/v2beta2` API 已棄用。
通用臨時卷功能升級到 GA
通用臨時卷功能在 1.23 版中升級到 GA。此功能允許任何支援動態配置的現有儲存驅動用作臨時卷,其卷生命週期繫結到 Pod。支援所有用於卷配置的 StorageClass 引數以及所有 PersistentVolumeClaims 支援的功能。
跳過卷所有權更改升級到 GA
為 Pod 配置卷許可權和所有權更改策略的功能在 1.23 版中升級到 GA。這允許使用者跳過掛載時的遞迴許可權更改,並加快 Pod 啟動時間。
允許 CSI 驅動選擇加入卷所有權和許可權更改升級到 GA
允許 CSI 驅動宣告支援基於 fsGroup 許可權的功能在 1.23 版中升級到 GA。
PodSecurity 升級到 Beta
PodSecurity 升級到 Beta 版。`PodSecurity` 取代了已棄用的 `PodSecurityPolicy` 准入控制器。`PodSecurity` 是一個准入控制器,它根據設定強制執行級別的特定名稱空間標籤,對名稱空間中的 Pod 強制執行 Pod 安全標準。在 1.23 版中,`PodSecurity` 功能門預設啟用。
容器執行時介面 (CRI) v1 為預設值
Kubelet 現在支援 CRI `v1` API,該 API 現在是專案範圍內的預設值。如果容器執行時不支援 `v1` API,Kubernetes 將回退到 `v1alpha2` 實現。終端使用者無需採取中間操作,因為 `v1` 和 `v1alpha2` 在實現上沒有區別。`v1alpha2` 可能會在未來的某個 Kubernetes 版本中移除,以便開發 `v1`。
結構化日誌記錄升級到 Beta
結構化日誌記錄已達到其 Beta 里程碑。kubelet 和 kube-scheduler 的大多數日誌訊息都已轉換。鼓勵使用者嘗試 JSON 輸出或結構化文字格式的解析,並就開放問題的可能解決方案提供反饋,例如處理日誌值中的多行字串。
簡化排程器多點外掛配置
kube-scheduler 正在為外掛新增一個新的簡化配置欄位,以允許在一個位置啟用多個擴充套件點。新的 `multiPoint` 外掛欄位旨在簡化大多數管理員的排程器設定。透過 `multiPoint` 啟用的外掛將自動註冊它們實現的每個獨立擴充套件點。例如,實現 Score 和 Filter 擴充套件的外掛可以同時為兩者啟用。這意味著可以啟用和停用整個外掛,而無需手動編輯單個擴充套件點設定。這些擴充套件點現在可以抽象化,因為它們對大多數使用者無關緊要。
CSI 遷移更新
CSI 遷移允許將現有的樹記憶體儲外掛(例如 `kubernetes.io/gce-pd` 或 `kubernetes.io/aws-ebs`)替換為相應的 CSI 驅動。如果 CSI 遷移正常工作,Kubernetes 終端使用者應該不會注意到任何區別。遷移後,Kubernetes 使用者可以繼續使用現有介面的所有樹記憶體儲外掛功能。
- CSI 遷移功能預設開啟,但在 1.23 版中,GCE PD、AWS EBS 和 Azure Disk 仍處於 Beta 階段。
- CSI 遷移在 1.23 版中作為 Alpha 功能引入 Ceph RBD 和 Portworx。
CRD 的表示式語言驗證為 alpha
從 1.23 版開始,CRD 的表示式語言驗證處於 alpha 階段。如果啟用了 `CustomResourceValidationExpressions` 功能門,自定義資源將透過使用通用表示式語言 (CEL) 的驗證規則進行驗證。
伺服器端欄位驗證為 Alpha
如果從 1.23 版本開始啟用 `ServerSideFieldValidation` 功能門,當用戶在請求中傳送包含未知或重複欄位的 Kubernetes 物件時,伺服器將收到警告。以前,伺服器會刪除未知欄位和除最後一個重複欄位之外的所有重複欄位。
啟用功能門後,我們還引入了 `fieldValidation` 查詢引數,以便使用者可以根據每個請求指定所需的伺服器行為。`fieldValidation` 查詢引數的有效值為:
- 忽略(功能門停用時的預設值,與 1.23 之前的丟棄/忽略未知欄位的行為相同)
- 警告(功能門啟用時的預設值)。
- 嚴格(這將導致請求失敗並出現“無效請求”錯誤)
OpenAPI v3 為 Alpha
如果從 1.23 版本開始啟用 `OpenAPIV3` 功能門,使用者將能夠請求所有 Kubernetes 型別的 OpenAPI v3.0 規範。OpenAPI v3 旨在完全透明,並支援在釋出 OpenAPI v2 時丟棄的一組欄位:`default`、`nullable`、`oneOf`、`anyOf`。每個 Kubernetes 組版本釋出一個單獨的規範(在 `$cluster/openapi/v3/apis/<group>/<version>` 端點),以提高效能和發現,所有組版本都可以在 `$cluster/openapi/v3` 路徑找到。
其他更新
升級到穩定版
- IPv4/IPv6 雙棧支援
- 跳過卷所有權更改
- TTL After Finished 控制器
- 在 CSI 驅動物件中配置 FSGroup 策略
- 通用臨時內聯卷
- 透過靜態分析防禦日誌記錄秘密
- 名稱空間範圍的 Ingress Class 引數
- 減少 Kubernetes 構建維護
- HPA API 升級到 GA
重大變更
版本說明
請檢視我們的釋出說明,瞭解 Kubernetes 1.23 釋出的完整詳細資訊。
可用性
Kubernetes 1.23 可在 GitHub 上下載。要開始使用 Kubernetes,請檢視這些互動式教程,或使用 kind 透過 Docker 容器“節點”執行本地 Kubernetes 叢集。您也可以使用 kubeadm 輕鬆安裝 1.23。
釋出團隊
本次釋出由一群非常敬業的個人共同努力完成,他們作為一個團隊,提供了技術內容、文件、程式碼以及構成每個 Kubernetes 釋出的許多其他元件。
非常感謝釋出負責人 Rey Lejano 帶領我們成功完成了釋出週期,也感謝釋出團隊中的其他所有人互相支援,併為社群辛勤工作以交付 1.23 版本。
釋出主題和標誌
Kubernetes 1.23:新的前沿

“下一個前沿”主題代表了 1.23 中新增和升級的增強功能、Kubernetes 對《星際迷航》的引用歷史以及釋出團隊中社群成員的成長。
Kubernetes 有著引用《星際迷航》的歷史。Kubernetes 在 Google 內部的原始代號是 Project 7,這是對《星際迷航:航海家號》中“九之七”的引用。當然,Borg 是 Kubernetes 的前身名稱。“下一個前沿”主題延續了《星際迷航》的引用。“下一個前沿”是兩部《星際迷航》標題的融合,《星際迷航 V:終極前沿》和《星際迷航:下一代》。
“下一個前沿”代表了 SIG Release 章程中的一句話:“確保有一致的社群成員群體來長期支援釋出過程。”隨著每個釋出團隊的成立,我們都會透過新的釋出團隊成員來發展社群,對許多人來說,這是他們在開源前沿的第一次貢獻。
參考:https://kubernetes.club.tw/blog/2015/04/borg-predecessor-to-kubernetes/ 參考:https://github.com/kubernetes/community/blob/master/sig-release/charter.md
Kubernetes 1.23 釋出標誌延續了主題的《星際迷航》參考。每顆星都是 Kubernetes 標誌中的一個舵。這艘船代表了釋出團隊的集體協作。
Rey Lejano 設計了該標誌。
使用者亮點
- 最新 CNCF 終端使用者技術雷達的調查結果以 DevSecOps 為主題。訪問 雷達頁面 獲取完整詳細資訊和調查結果。
- 瞭解終端使用者 Aegon Life India 如何將其核心流程從傳統的單體遷移到基於微服務的架構,以努力轉型為領先的數字服務公司。
- 利用多個雲原生專案,希捷設計了 EdgeX,以在邊緣執行即時分析。
- 瞭解Zambon 如何與 SparkFabrik 合作,利用雲原生技術開發了 16 個網站,使利益相關者能夠輕鬆更新內容,同時保持一致的品牌形象。
- 透過使用 Kubernetes,InfluxData 成功實現了多雲、多區域服務可用性的承諾,它建立了一個真正的雲抽象層,允許將 InfluxDB 作為單個應用程式無縫交付到三個主要雲提供商的多個全球叢集。
生態系統更新
- KubeCon + CloudNativeCon NA 2021 於 2021 年 10 月以線上和線下相結合的方式舉行。所有講座現已提供點播,供任何想要追趕的人觀看!
- Kubernetes 和雲原生基礎培訓以及 KCNA 認證現已普遍開放註冊和安排。此外,還發布了新的線上培訓課程《Kubernetes 和雲原生基礎 (LFS250)》,旨在為個人進入初級雲角色和參加 KCNA 考試做準備。
- 包容性命名倡議現已提供新的資源,包括開源包容性策略 (LFC103) 課程、語言評估框架和實施路徑。
專案速度
CNCF K8s DevStats 專案聚合了許多與 Kubernetes 和各種子專案的速度相關的有趣資料點。這包括從個人貢獻到貢獻公司數量的所有內容,並且是為發展這個生態系統所付出的努力的深度和廣度的體現。
在為期 16 周的 v1.23 釋出週期(8 月 23 日至 12 月 7 日)中,我們看到了來自 1032 家公司和 1084 名個人的貢獻。
活動更新
- KubeCon + CloudNativeCon 中國 2021 將於本月 12 月 9 日至 11 日舉行。在去年休息一年後,今年的活動將以虛擬方式進行,包括 105 場會議。在此處檢視活動日程:此處。
- KubeCon + CloudNativeCon 歐洲 2022 將於 2022 年 5 月 4 日至 7 日在西班牙瓦倫西亞舉行!您可以在活動網站上找到有關會議和註冊的更多資訊。
- Kubernetes 社群日即將在巴基斯坦、巴西、成都和澳大利亞舉行。
即將舉行的釋出網路研討會
加入 Kubernetes 1.23 釋出團隊成員,於 2022 年 1 月 4 日瞭解此版本的主要功能,以及棄用和移除的功能,以幫助規劃升級。有關更多資訊和註冊,請訪問 CNCF 線上程式網站上的活動頁面。
參與其中
參與 Kubernetes 的最簡單方法是加入眾多與您的興趣相符的特別興趣小組 (SIG)。有什麼想向 Kubernetes 社群廣播的嗎?在我們的每週社群會議和以下渠道中表達您的聲音:
- 在 Kubernetes 貢獻者網站上了解更多關於為 Kubernetes 做貢獻的資訊
- 在 Twitter 上關注我們 @Kubernetesio 獲取最新更新
- 在 Discuss 上加入社群討論
- 在 Slack 上加入社群
- 在 Stack Overflow 上提問(或回答問題)
- 分享你的 Kubernetes 故事
- 在部落格上閱讀更多關於 Kubernetes 的動態
- 瞭解更多關於 Kubernetes 釋出團隊的資訊