Kubernetes 1.20:最酷炫的版本

我們很高興宣布 Kubernetes 1.20 版本發布,這是我們 2020 年第三個也是最後一個版本!此版本包含 42 項增強功能:11 項增強功能已升級為穩定版,15 項增強功能正在轉為 beta 版,而 16 項增強功能正在進入 alpha 版。

繼之前的延長發布週期之後,1.20 版本週期恢復了正常的 11 週節奏。這是近期功能最密集的版本之一:Kubernetes 創新週期仍在向上發展。此版本的 alpha 版增強功能比穩定版更多,表明在雲原生生態系統中仍有許多值得探索的地方。

主要主題

Volume Snapshot Operations 進入穩定版

此功能提供了一種標準方式來觸發磁碟區快照操作,並允許使用者以可移植的方式在任何 Kubernetes 環境和支援的儲存供應商中整合快照操作。

此外,這些 Kubernetes 快照基本元件充當基本構建模組,可解鎖為 Kubernetes 開發進階企業級儲存管理功能的能力,包括應用程式或叢集級別備份解決方案。

請注意,快照支援需要 Kubernetes 發行商捆綁快照控制器、快照 CRD 和驗證 webhook。也必須在叢集上部署支援快照功能的 CSI 驅動程式。

Kubectl Debug 升級為 Beta 版

kubectl alpha debug 功能在 1.20 中升級為 beta 版,成為 kubectl debug。此功能直接從 kubectl 提供對常見偵錯工作流程的支援。此 kubectl 版本中支援的疑難排解情境包括

  • 透過建立使用不同容器映像或命令的 Pod 副本,針對啟動時當機的工作負載進行疑難排解。
  • 透過新增具有偵錯工具的新容器(在 Pod 的新副本中或使用臨時容器),針對無發行版本的容器進行疑難排解。(臨時容器是一項 alpha 版功能,預設未啟用。)
  • 透過建立在主機命名空間中執行且有權存取主機檔案系統的容器,在節點上進行疑難排解。

請注意,作為新的內建命令,kubectl debug 的優先順序高於任何名為「debug」的 kubectl 外掛程式。您必須重新命名受影響的外掛程式。

使用 kubectl alpha debug 的調用現在已棄用,並將在後續版本中移除。更新您的腳本以使用 kubectl debug。有關 kubectl debug 的更多資訊,請參閱偵錯執行中的 Pod

Beta 版:API 優先順序和公平性

Kubernetes 1.20 在 1.18 中引入,現在預設啟用 API 優先順序和公平性 (APF)。這允許 kube-apiserver 按優先順序級別對傳入請求進行分類。

Alpha 版,帶有更新:IPV4/IPV6

已重新實作 IPv4/IPv6 雙堆疊,以根據使用者和社群回饋支援雙堆疊服務。這允許將 IPv4 和 IPv6 服務叢集 IP 位址指派給單一服務,並且還允許將服務從單一 IP 堆疊轉換為雙 IP 堆疊,反之亦然。

GA 版:用於穩定性的程序 PID 限制

程序 ID (pid) 是 Linux 主機上的基本資源。在未達到任何其他資源限制的情況下,很容易達到任務限制,並導致主機不穩定。

管理員需要機制來確保使用者 Pod 不會導致 pid 耗盡,從而阻止主機守護程序(執行階段、kubelet 等)執行。此外,重要的是確保在 Pod 之間限制 pid,以確保它們對節點上的其他工作負載的影響有限。在預設啟用一年後,SIG Node 將 PID 限制升級為 GA 版,包括 SupportNodePidsLimit(節點到 Pod 的 PID 隔離)和 SupportPodPidsLimit(限制每個 Pod 的 PID 的能力)。

Alpha 版:節點正常關機

使用者和叢集管理員期望 Pod 將遵守預期的 Pod 生命周期,包括 Pod 終止。目前,當節點關機時,Pod 不會遵循預期的 Pod 終止生命週期,並且不會正常終止,這可能會導致某些工作負載出現問題。GracefulNodeShutdown 功能現在處於 Alpha 版。GracefulNodeShutdown 使 kubelet 能夠感知節點系統關機,從而在系統關機期間實現 Pod 的正常終止。

主要變更

Dockershim 棄用

Dockershim,Docker 的容器執行階段介面 (CRI) shim 正在被棄用。對 Docker 的支援已棄用,並將在未來版本中移除。Docker 生產的映像將繼續在您的叢集中與所有符合 CRI 標準的執行階段一起運作,因為 Docker 映像遵循開放容器倡議 (OCI) 映像規範。Kubernetes 社群撰寫了一篇關於棄用的詳細部落格文章,其中包含專門針對它的常見問題解答頁面

Exec 探針逾時處理

已修復有關 exec 探針逾時的長期錯誤,該錯誤可能會影響現有的 Pod 定義。在此修復之前,timeoutSeconds 欄位未針對 exec 探針受到尊重。相反,探針將無限期地執行,甚至超過其設定的截止時間,直到傳回結果。透過此變更,如果未指定值,則將套用預設值 1 秒,並且如果探針花費超過一秒,現有的 Pod 定義可能不再足夠。已新增一個名為 ExecProbeTimeout 的功能閘道來進行此修復,該閘道使叢集運營商能夠恢復到先前的行為,但這將在後續版本中鎖定和移除。為了恢復到先前的行為,叢集運營商應將此功能閘道設定為 false

請查看有關配置探針的更新文件,以了解更多詳細資訊。

其他更新

升級為穩定版

值得注意的功能更新

發布說明

您可以在發布說明中查看 1.20 版本的完整詳細資訊。

版本的可用性

Kubernetes 1.20 可在 GitHub 上下載。有很多很棒的資源可供開始使用 Kubernetes。您可以查看 Kubernetes 主要網站上的一些互動式教學課程,或使用 Docker 容器和 kind 在您的機器上執行本機叢集。如果您想嘗試從頭開始建立叢集,請查看 Kelsey Hightower 的 Kubernetes the Hard Way 教學課程。

發布團隊

此版本的發布歸功於一群非常敬業的人,他們在世界上發生了很多事情的情況下組成了一個團隊。非常感謝發布負責人 Jeremy Rickard,以及發布團隊中的每個人,感謝他們互相支持,並努力交付社群的 1.20 版本。

發布標誌

Kubernetes 1.20 Release Logo

raddest形容詞,俚語。極好的;精彩的;酷

Kubernetes 1.20 版本是迄今為止最棒的版本。

2020 年對我們許多人來說都是充滿挑戰的一年,但 Kubernetes 貢獻者在此版本中交付了破紀錄的增強功能數量。這是一項偉大的成就,因此發布負責人希望以一點輕鬆幽默來結束這一年,並向Kubernetes 1.14 - Caturnetes 致敬,推出一隻名為 Humphrey 的「超酷」貓咪。

Humphrey 是發布負責人的貓,並且永久 blepRad 在 1990 年代的美國是很常見的俚語,雷射背景也是如此。Humphrey 在 1990 年代風格的學校照片中感覺像是結束這一年的一種有趣方式。希望 Humphrey 和他的 blep 在 2020 年底為您帶來一點快樂!

發布標誌由 Henry Hsu - @robotdancebattle 創作。

使用者重點

專案速度

CNCF K8s DevStats 專案彙總了與 Kubernetes 和各種子專案速度相關的許多有趣資料點。這包括從個人貢獻到貢獻公司的數量等所有內容,並且清楚地說明了為發展此生態系統所付出的努力的深度和廣度。

在 v1.20 發布週期(執行時間為 11 週,從 9 月 25 日到 12 月 9 日)中,我們看到了來自 967 家公司1335 位個人(其中 44 位首次為 Kubernetes 做出貢獻)的貢獻,他們來自 26 個國家/地區

生態系統更新

  • KubeCon 北美大會剛在三週前結束,這是第二次以虛擬方式舉辦的活動!所有演講現在都可在線上隨選觀看,供任何仍需要趕上進度的人使用!
  • 在 6 月,Kubernetes 社群成立了一個新的工作組,以直接回應在美國各地發生的 Black Lives Matter 抗議活動。WG Naming 的目標是盡可能徹底地消除 Kubernetes 專案中的有害和不清晰的語言,並以可移植到其他 CNCF 專案的方式進行。在 KubeCon 2020 北美大會上,就這項重要工作及其進行方式進行了精彩的介紹性演講,並且這項勞動的初步影響實際上可以在 v1.20 版本中看到
  • 今年夏天早些時候宣布,認證 Kubernetes 安全專家 (CKS) 認證在 Kubecon NA 期間發布,可立即安排考試!繼 CKA 和 CKAD 的模式之後,CKS 是一項基於效能的考試,重點關注以安全性為主題的能力和領域。此考試的目標對象是目前的 CKA 持有者,特別是那些想要完善其在保護雲端工作負載方面的基準知識的人員(這適用於我們所有人,對吧?)。

活動更新

KubeCon + CloudNativeCon 歐洲 2021 將於 2021 年 5 月 4 日至 7 日舉行!註冊將於 1 月 11 日開放。您可以在此處找到有關會議的更多資訊。請記住,徵集提案 (CFP) 將於太平洋標準時間 12 月 13 日星期日晚上 11:59 截止!

即將舉行的版本發布網路研討會

請繼續關注即將於今年 1 月舉行的版本發布網路研討會。

參與其中

如果您有興趣為 Kubernetes 社群做出貢獻,特殊興趣小組 (SIG) 是一個很好的起點。它們中的許多可能與您的興趣相符!如果您有想與社群分享的事項,您可以加入每週的社群會議,或使用以下任何管道