Kubernetes 1.17帶來卷快照和更簡易的插件管理
譯文【51CTO.com快譯】Kubernetes是用于部署、擴(kuò)展和管理容器的市面上最廣泛使用的開源容器編排工具之一。該工具最初由谷歌開發(fā),現(xiàn)在由云原生計算基金會維護(hù),近日迎來了版本1.17。
版本1.17是2019年的第四個也是最終版本,含有22處改進(jìn)。這些功能上的改進(jìn)包括:
- 14處改進(jìn)進(jìn)入到stable階段。
- 4處改進(jìn)進(jìn)入到beta階段。
- 4處改進(jìn)進(jìn)入到alpha階段。
不妨看一下Kubernetes的這個最新版本含有的一些新改進(jìn)。
先看一下其中一項比較重要的功能。
卷快照
雖然卷快照尚未進(jìn)入到stable階段,但它是許多Kubernetes管理員非常欣賞的一項功能。該功能創(chuàng)建持久卷的時間點副本。這些快照可用于配置新卷或?qū)F(xiàn)有卷還原到以前的狀態(tài)。
但是考慮到Kubernetes已含有一個卷插件(該插件為塊存儲和文件存儲的自動化及配置、附加和掛載提供了一種功能強(qiáng)大的工具),為什么還要為它添加卷快照?為了回答這個問題,Kubernetes官方文檔特別指出:
所有這些功能的基礎(chǔ)是Kubernetes實現(xiàn)工作負(fù)載可移植性的目標(biāo):Kubernetes旨在在分布式系統(tǒng)應(yīng)用程序和底層集群之間創(chuàng)建一個抽象層,以便應(yīng)用程序可以做到與它們運行所依賴的集群的具體情況無關(guān),應(yīng)用程序部署不需要“針對特定集群的”知識。
快照操作被視為有狀態(tài)工作負(fù)載的一項關(guān)鍵功能。通過提供在Kubernetes API內(nèi)觸發(fā)快照操作的方法,管理員現(xiàn)在可以在不必使用Kubernetes API的情況下處理用例。
想了解有關(guān)Kubernetes卷快照功能的更多信息,請參閱官方文檔。
樹內(nèi)插件遷移
從版本1.17開始,Kubernetes將把樹內(nèi)插件遷移到容器存儲接口(CSI)。為什么這樣?在1.17之前,Kubernetes卷插件是核心Kubernetes代碼的一部分,隨核心Kubernetes二進(jìn)制文件一并提供。因此,為Kubernetes添加新的卷插件始終很困難。如果供應(yīng)商想為核心添加存儲系統(tǒng),就被迫與Kubernetes發(fā)布過程保持一致。這并非總是可行的。
除此之外,第三方存儲代碼可能會導(dǎo)致核心Kubernetes二進(jìn)制文件內(nèi)出現(xiàn)可靠性和安全性問題。
這導(dǎo)致將樹內(nèi)插件遷移到CSI。Kubernetes開發(fā)人員提到這種遷移時說:“當(dāng)Kubernetes集群管理員更新集群以啟用CSI遷移時,現(xiàn)有的有狀態(tài)部署和工作負(fù)載將繼續(xù)像往常一樣運行;不過在幕后,Kubernetes將所有存儲管理操作(以前針對樹內(nèi)驅(qū)動程序)的控制權(quán)交給CSI驅(qū)動程序。”
其他功能
Kubernetes 1.17的其他功能包括如下:
- 按條件為節(jié)點設(shè)置污點:表示使用污點(taint)阻止調(diào)度的節(jié)點條件。
- 可配置的Pod進(jìn)程命名空間:用戶可以通過在PodSpec中設(shè)置一個選項,配置Pod中的容器以共享通用的PID名稱空間。
- 動態(tài)最大卷計數(shù):增添了對每個節(jié)點最大卷的動態(tài)和通用機(jī)制的支持。
- 在SubPath掛載中提供了環(huán)境變量擴(kuò)展。
- 支持自定義資源的默認(rèn)設(shè)置。
- 將頻繁的Kubelet Heartbeat移到Lease Api:Kubelet在節(jié)點上創(chuàng)建并定期續(xù)訂Lease,節(jié)點生命周期控制器將該租約視為運行狀況信號。
- 支持watch bookmark,以減輕kube-apiserver的負(fù)載。
- 行為驅(qū)動的一致性測試:一致性行為預(yù)先定義,與驗證那些行為的測試分開。
- 服務(wù)的終結(jié)器保護(hù):添加終結(jié)器保護(hù)以確保在刪除相關(guān)的LB之前,不完全刪除服務(wù)資源。
- 避免為每個watcher獨立地序列化同一對象。
- IPv4 / IPv6雙棧支持。
- 可感知拓?fù)浣Y(jié)構(gòu)的服務(wù)路由。
- 面向Windows的RunAsUserName。
想下載Kubernetes的1.17版本,請訪問該版本的官方GitHub頁面。想了解有關(guān)新功能的更多信息,請在此處參閱完整的變更日志。
原文標(biāo)題:Kubernetes 1.17 Brings Volume Snapshots, Easier Plugin Management,作者:Jack Wallen
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】