
K8sMeetup 中國社區第一時間整理了 v1.20 的亮點內容,為大家詳細介紹此版本的主要功能,
作者:Bach(才云)、bot(才云)
技術校對:星空下的文仔(才云)
美國時間 12 月 8 日,Kubernetes v1.20 正式發布,這是 2020 年的第三個新版本,也是最后一個版本,該版本包含 42 個增強功能:其中 11 個增強功能趨于穩定,15 個進入 Beta,16 個進入 Alpha,
之前擴展發布周期后,v1.20 發布周期恢復到正常的 11 周,這是近來功能最密集的版本之一:Kubernetes 更新速度仍在加快,該版本 Alpha 增強功能比穩定的增強功能更多,這表明在云原生生態系統中還有許多值得探索的空間,
K8sMeetup
Major Themes
新版本主要圍繞以下主題:
1
存盤卷快照功能趨于穩定
現在提供了觸發存盤卷快照功能的標準方法,并允許用戶以可移植的方式在 Kubernetes 環境或任何受支持的存盤提供程式上合并快照操作,同時,Kubernetes 快照原語可作為基礎構建塊,能提供 Kubernetes 開發企業級存盤管理功能的能力,包括應用程式以及集群備份解決方案,
另外,快照支持需要 Kubernetes 發行廠商捆綁 Snapshot 控制器、Snapshot CRD 和驗證 Webhook,支持快照功能的 CSI 驅動程式也要部署在集群上,
2
Kubectl Debug 進入 Beta
kubectl alpha debug 功能在 v1.20 進入 Beta 版,并更名為 kubectl debug,該功能能通過 kubectl 提供常見除錯作業流的支持,現在 kubectl 支持的故障排除方案包括:
-
通過創建使用其他容器鏡像的 Pod 副本解決啟動時作業負載崩潰的問題,
-
通過在 Pod 的新副本或臨時容器(臨時容器是一項默認不啟用的 Alpha 功能,)使用除錯工具添加新容器來解決 Distroless 容器的故障,
-
通過在主機命名空間中創建能運行并具有訪問主機檔案系統權限的容器,對節點進行故障排除,
作為新的內置命令,kubectl debug 比任何名字帶有 “debug” 的 kubectl 插件優先級都要高,因此必須重命名受影響的插件,
在 v1.20 中,不建議繼續使用 kubectl alpha debug,后續發行版中其也被洗掉,建議更新腳本使用 kubectl debug,
3
Beta:API 優先級和公平性
v1.18 版本引入的 API 優先級和公平性(APF)功能現在在 Kubernetes v1.20 默認啟用,它能讓 kube-apiserver 按優先級對傳入的請求進行分類,
4
IPV4/IPV6 Alpha 功能更新
IPv4/IPv6 雙協議堆疊基于用戶和社區反饋重新實作,現在既可以將 IPv4 與 IPv6 服務集群 IP 地址分配給單個服務,也可以在服務中實作單 IP 堆疊與雙 IP 堆疊的切換,
5
GA:限制行程 PID
行程 ID(PID)是 Linux 主機上的基本資源,為避免主機不穩定,要達到任務限制與資源限制的平衡,
管理員需要一些機制來確保用戶 Pod 不會導致 PID 耗盡,以避免主機守護程式(運行時、kubelet 等)停止運行,另外,也要確保在容器之間限制 PID,以確保不會對節點上其他作業負載造成影響,在一年前默認啟用后,SIG Node 通過 SupportNodePidsLimit(node-to-pod PID 隔離)和 SupportPodPidsLimit(能在 Pod 限制 PID)將限制行程 PID 推向 GA,
6
Alpha:節點優雅關閉
用戶和集群管理員希望 Pod 以預定的 Pod 生命周期運行,包括 Pod 終止,但目前節點關閉時,Pod 不會遵循預期的 Pod 終止生命周期,并無法正常終止,這可能會導致作業負載出現問題,GracefulNodeShutdown 功能現在進入 Alpha,它能讓 kubelet 知道節點系統關閉,從而在系統關閉期間正常終止 Pod,
K8sMeetup
重要更新
以下是 v1.20 中值得關注的變化:
1
Dockershim 棄用
v1.20 將棄用 Dockershim,即 Docker 容器運行時介面(CRI),這意味著不再支持 Docker,并將在后續版本中洗掉,由于Docker 鏡像遵循開放容器倡議(OCI)鏡像規范,所以 Docker 產生的鏡像能在所有 CRI 兼容運行時的集群中正常使用,詳情可見《Kubernetes 棄用 Docker 來龍去脈》,
2
Exec 探針超時處理
修正了長期存在的 exec 探針超時錯誤,該 bug 可能會對現有 pod 定義造成影響,在發布該修復程式之前,exec 探針未考慮 timeoutSeconds 欄位,并會無限期運行,甚至超過配置限制,直到回傳結果,此次修復后,如果未指定值,探針會默認為 1 秒;如果探針時間超過 1 秒,現有 Pod 定義可能無法滿足,此次修復還添加了一個名為 ExecProbeTimeout 的 feature gate,它能讓集群操作員還原到以前的行為,但在后續發行版中,它將被鎖定并洗掉,如果要恢復以前的行為,要將該 feature gate 設定為 false,
K8sMeetup
其他更新
1
以下特性進入穩定
-
RuntimeClass
-
內置 API 型別默認值
-
添加 Pod-Startup Liveness-Probe 延遲
-
在 Windows 上支持 CRI-ContainerD
-
SCTP 支持 Service
-
將 AppProtocol 添加到 Service 和 Endpoint
2
重要功能更新
-
#19 CronJobs:用于執行所有與時間相關的操作,即備份,報告生成等,
K8sMeetup
發布 logo
對于許多人來說,2020 年是充滿挑戰的一年,但是 Kubernetes 的貢獻者在此版本中提供了創紀錄的增強功能,這是一項巨大的成就,因此發布負責人希望在今年結束時有所成就,并向 Kubernetes 1.14-Caturnetes 致敬,包括一只名為 “Humphrey” 的 “rad” 貓,

本文只簡單介紹了 Kubernetes v1.20 中的一些重要增強功能,以及企業用戶和個人開發者可能會比較關注的新功能,關于新版本的更多內容,請查看官方檔案:
https://kubernetes.io/blog/2020/12/08/kubernetes-1-20-release-announcement/
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234357.html
標籤:AI
下一篇:腦科學真的可以啟發AI嗎?
