Kubernetes 1.21:社群的力量
我們很高興宣布 Kubernetes 1.21 版本發布,這是我們 2021 年的第一個版本!此版本包含 51 項增強功能:13 項增強功能已升級為穩定版,16 項增強功能正在轉移到 Beta 版,20 項增強功能正在進入 Alpha 版,並且有 2 項功能已被棄用。
在這個發布週期中,我們看到圍繞發布團隊的流程所有權發生了重大轉變。我們從定期徵求社群意見的同步溝通模式,轉變為社群選擇加入以貢獻功能和/或部落格文章到發布版本的模式。這些變更促使整個社群的協作和團隊合作增加。所有這些的成果都反映在 Kubernetes 1.21 中,它擁有近期以來最多的功能數量。
主要主題
CronJobs 升級為穩定版!
CronJobs(先前稱為 ScheduledJobs)自 Kubernetes 1.8 以來一直是 Beta 版功能!在 1.21 版本中,我們終於看到這個廣泛使用的 API 升級為穩定版。
CronJobs 旨在執行定期排程的動作,例如備份、報表產生等等。這些任務中的每一項都應配置為無限期地重複執行(例如:每天/每週/每月一次);您可以定義在該間隔內作業應開始的時間點。
不可變的 Secrets 和 ConfigMaps
不可變的 Secrets 和 ConfigMaps 為這些資源類型新增了一個新欄位,如果設定了該欄位,將拒絕變更這些物件。Secrets 和 ConfigMaps 預設是可變的,這對於能夠使用變更的 Pod 很有利。如果為使用它們的 Pod 推送了錯誤的配置,則變更 Secrets 和 ConfigMaps 也可能導致問題。
透過將 Secrets 和 ConfigMaps 標記為不可變,您可以確保您的應用程式配置不會變更。如果您想要進行變更,則需要建立一個新的、唯一命名的 Secret 或 ConfigMap,並部署一個新的 Pod 來使用該資源。不可變資源也具有擴展優勢,因為控制器不需要輪詢 API 伺服器來監看變更。
此功能已在 Kubernetes 1.21 中升級為穩定版。
IPv4/IPv6 雙堆疊支援
IP 位址是叢集運算子和管理員需要確保未耗盡的可消耗資源。特別是,公用 IPv4 位址現在很稀缺。擁有雙堆疊支援可以為 Pod 和服務啟用原生 IPv6 路由,同時仍然允許您的叢集在需要時與 IPv4 通訊。雙堆疊叢集網路也改善了工作負載可能存在的擴展限制。
Kubernetes 中的雙堆疊支援意味著 Pod、服務和節點可以取得 IPv4 位址和 IPv6 位址。在 Kubernetes 1.21 中,雙堆疊網路 已從 Alpha 版升級到 Beta 版,現在預設為啟用。
優雅節點關閉
優雅節點關閉 也在此版本中升級到 Beta 版(現在將提供給更多使用者群體)!這是一個非常有益的功能,它允許 kubelet 感知節點關閉,並優雅地終止排程到該節點的 Pod。
目前,當節點關閉時,Pod 不會遵循預期的終止生命週期,並且不會優雅地關閉。這可能會為許多不同的工作負載帶來問題。展望未來,kubelet 將能夠透過 systemd 偵測到即將發生的系統關閉,然後通知正在執行的 Pod,以便它們可以盡可能優雅地終止。
PersistentVolume 健康監控
Persistent Volumes (PV) 通常用於應用程式中以取得本機、基於檔案的儲存。它們可以以許多不同的方式使用,並協助使用者遷移應用程式,而無需重新編寫儲存後端。
Kubernetes 1.21 具有新的 Alpha 版功能,該功能允許監控 PV 的磁碟區健康狀況,並在磁碟區變得不健康時相應地標記。工作負載將能夠對健康狀態做出反應,以保護資料免於寫入或讀取不健康的磁碟區。
減少 Kubernetes 建置維護
先前 Kubernetes 維護了多個建置系統。對於新的和目前的貢獻者來說,這通常是摩擦和複雜性的根源。
在上一個發布週期中,已投入大量工作來簡化建置流程,並標準化為原生 Golang 建置工具。這應該能增強更廣泛的社群維護,並降低新貢獻者的入門門檻。
重大變更
PodSecurityPolicy 棄用
在 Kubernetes 1.21 中,PodSecurityPolicy 已被棄用。與所有 Kubernetes 功能棄用一樣,PodSecurityPolicy 將在接下來的幾個版本中繼續可用且功能齊全。PodSecurityPolicy 先前處於 Beta 階段,計劃在 Kubernetes 1.25 中移除。
下一步是什麼?我們正在開發一種新的內建機制來幫助限制 Pod 權限,其工作標題為「PSP 替換策略」。我們的計劃是讓這個新機制涵蓋 PodSecurityPolicy 的主要用例,並大大改進人體工學和可維護性。若要了解更多資訊,請閱讀 PodSecurityPolicy 棄用:過去、現在和未來。
TopologyKeys 棄用
Service 欄位 topologyKeys
現在已被棄用;所有使用此欄位的元件功能先前都是 Alpha 版,現在也被棄用。我們已將 topologyKeys
替換為一種實作拓撲感知路由的方法,稱為拓撲感知提示。拓撲感知提示是 Kubernetes 1.21 中的 Alpha 版功能。您可以在 拓撲感知提示 中閱讀有關替換功能的更多詳細資訊;相關的 KEP 解釋了我們切換的原因。
其他更新
升級為穩定版
值得注意的功能更新
- 外部 client-go 憑證提供者 - 1.21 中的 Beta 版
- 結構化日誌記錄 - 在 1.22 中升級到 Beta 版
- Jobs 和 Pod 的完成後 TTL 清理 - 已升級到 Beta 版
發布說明
您可以在發布說明中查看 1.21 版本的完整詳細資訊。
版本的可用性
Kubernetes 1.21 可在 GitHub 上下載。有很多很棒的資源可供開始使用 Kubernetes。您可以查看 Kubernetes 主要網站上的一些互動式教學課程,或使用 kind 在您的機器上使用 Docker 容器執行本機叢集。如果您想嘗試從頭開始建置叢集,請查看 Kelsey Hightower 的 Kubernetes the Hard Way 教學課程。
發布團隊
這個版本的發布歸功於一群非常敬業的個人,他們在世界上發生許多事情的情況下組成了一個團隊。非常感謝發布負責人 Nabarun Pal,以及發布團隊中的每個人,感謝他們互相支持,並努力交付社群的 1.21 版本。
發布標誌
Kubernetes 1.21 發布標誌描繪了發布團隊的全球性,發布團隊成員居住在從 UTC+8 到 UTC-8 的時區。發布團隊的多樣性帶來了許多挑戰,但團隊透過採用更多非同步溝通實務來應對所有這些挑戰。發布標誌中的七邊形地球代表了社群克服隨之而來的挑戰的堅定決心。它慶祝發布團隊在過去 3 個月中的出色團隊合作,帶來了充滿樂趣的 Kubernetes 版本!
該標誌由位於印度的獨立設計師 Aravind Sekar 設計。Aravind 協助 PyCon India 等開源社群進行設計工作。
使用者重點
- CNCF 歡迎全球 47 個新組織成為會員,以在 2021 年初進一步推進雲原生技術!這些新會員將加入 CNCF 即將到來的 2021 KubeCon + CloudNativeCon 活動,包括 2021 年 5 月 4 日至 7 日的KubeCon + CloudNativeCom EU – 虛擬,以及 2021 年 10 月 12 日至 15 日在洛杉磯的 KubeCon + CloudNativeCon NA。
專案速度
CNCF K8s DevStats 專案 匯總了許多與 Kubernetes 和各種子專案速度相關的有趣資料點。這包括從個人貢獻到貢獻公司的數量等所有內容,並且清楚地說明了投入到發展這個生態系統的努力的深度和廣度。
在 v1.21 發布週期中,該週期運行了 12 週(1 月 11 日至 4 月 8 日),我們看到了來自 999 家公司 和 1279 位個人 的貢獻。
生態系統更新
- 在全球亞洲社群面臨日益嚴重的種族主義和攻擊之際,請閱讀 CNCF 總經理 Priyanka Sharma 在 CNCF 部落格 上發表的聲明,重申社群對包容性價值觀和多元化驅動的韌性的承諾。
- 我們現在有一個流程來遷移預設分支從 master → main。在此處 了解更多指南
- CNCF 和 Linux 基金會宣布推出新的訓練課程 LFS260 – Kubernetes 安全性要點。除了提供有關保護基於容器的應用程式和 Kubernetes 平台的廣泛最佳實務的技能和知識外,該課程也是為最近推出的 認證 Kubernetes 安全專家 認證考試做準備的好方法。
活動更新
- KubeCon + CloudNativeCon Europe 2021 將於 2021 年 5 月 4 日至 7 日舉行!您可以在此處找到有關會議的更多資訊。
- Kubernetes 社群日 正在重新啟動!2021 年第二季將從非洲和班加羅爾開始。
即將舉行的發布網路研討會
加入 Kubernetes 1.21 發布團隊成員於 2021 年 5 月 13 日了解此版本中的主要功能,包括 IPv4/IPv6 雙堆疊支援、PersistentVolume 健康監控、不可變的 Secrets 和 ConfigMaps 等等。在此處註冊:https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-live-webinar-kubernetes-121-release/
參與其中
如果您有興趣為 Kubernetes 社群做出貢獻,特殊興趣小組 (SIG) 是一個很好的起點。它們中的許多可能與您的興趣相符!如果您有想與社群分享的事情,您可以加入每週的社群會議,或使用以下任何管道
- 在 Kubernetes 貢獻者網站 上了解有關為 Kubernetes 做出貢獻的更多資訊
- 在 Twitter 上追蹤我們 @Kubernetesio 以獲取最新更新
- 加入 Discuss 上的社群討論
- 在 Slack 上加入社群
- 分享您的 Kubernetes 故事
- 在 部落格 上閱讀更多關於 Kubernetes 的最新動態
- 了解更多關於 Kubernetes 發布團隊 的資訊