將Kubernetes引入到裸機(jī)邊緣
譯文【51CTO.com快譯】Kubespray是為Kubernetes集群的部署和管理提供Ansible劇本(playbook)的社區(qū)項(xiàng)目,最近增加了支持裸機(jī)云Packet的功能。這使得Kubernetes集群可以部署在下一代邊緣位置,包括基于手機(jī)信號塔的微型數(shù)據(jù)中心。
Packet的獨(dú)特之處在于側(cè)重裸機(jī),它擴(kuò)大了Kubespray的支持范圍,不僅僅支持平常的云:亞馬遜網(wǎng)絡(luò)服務(wù)、谷歌計算引擎、Azure、OpenStack、vSphere和Oracle云基礎(chǔ)設(shè)施。Kubespray使用Terraform和Ansible,借助自動化消除了安裝Kubernetes集群的復(fù)雜性。Terraform提供了基礎(chǔ)設(shè)施,并安裝了安裝Ansible所需的必備組件。Terraform provider插件能夠支持眾多不同的云提供商。Ansible劇本隨后部署和配置Kubernetes。
由于網(wǎng)上已有將Kubespray部署在Packet上的詳細(xì)說明(https://github.com/kubernetes-sigs/kubespray/blob/master/docs/packet.md),我將著重介紹為何裸機(jī)支持對Kubernetes來說很重要以及所需的必要條件。
為何支持裸機(jī)?
在過去,Kubernetes部署依賴公共云或完全托管版私有云的“舒適工具”(creature comforts),提供用于運(yùn)行Kubernetes的虛擬機(jī)和網(wǎng)絡(luò)基礎(chǔ)設(shè)施。這增加了一層抽象(比如帶虛擬機(jī)的虛擬機(jī)管理程序),Kubernetes未必需要這層抽象。事實(shí)上,Kubernetes一開始就駐留在裸機(jī)上(那時叫谷歌的Borg)。
隨著我們讓工作負(fù)載更靠近最終用戶(以邊緣計算的形式),并部署到更多樣化的環(huán)境(包括不同架構(gòu)和大小的混合和本地基礎(chǔ)設(shè)施),依賴同樣的公共云底層并非總是可行或理想。比如說,由于邊緣位置受資源限制,直接在裸機(jī)上運(yùn)行Kubernetes更高效、更實(shí)際。
注意不足
如果裸機(jī)集群下面沒有功能齊全的公共云,就需要直接在Kubernetes集群中管理一些傳統(tǒng)功能,比如負(fù)載均衡和存儲編排功能。幸好有一些項(xiàng)目(比如MetalLB和Rook)為Kubernetes提供了這種支持。
MetalLB是第2層和第3層負(fù)載均衡系統(tǒng),集成到Kubespray中,很容易在裸機(jī)集群上安裝支持Rook的機(jī)制,Rook負(fù)責(zé)編排Ceph,為Kubernetes集群提供分布式復(fù)制存儲。除了支持全部功能外,這種“自備”的存儲和負(fù)載均衡方法還擺脫了對特定云服務(wù)的依賴,幫助你借助可在任何地方安裝的方法來避免鎖定。
Kubespray支持ARM64處理器。ARM架構(gòu)(開始經(jīng)常出現(xiàn)在數(shù)據(jù)中心級硬件、SmartNIC及其他定制的加速器中)在移動和嵌入式設(shè)備有著悠久的歷史,非常適合部署在邊緣。
展望未來,我希望看到MetalLB與Rook更深入地集成,另外在眾多不同的硬件配置上對日常構(gòu)建版本實(shí)行裸機(jī)持續(xù)集成(CI)。訪問Packet的自動化裸機(jī)能夠支持跨多種處理器、存儲方案和網(wǎng)絡(luò)環(huán)境來進(jìn)行測試和維護(hù)。這將有助于確??梢钥绻苍啤⒙銠C(jī)和邊緣環(huán)境來妥善地部署和管理基于Kubespray的Kubernetes。
需要社區(qū)
Kubespray是一個社區(qū)推動的開源項(xiàng)目,離不開核心開發(fā)人員和貢獻(xiàn)者以及協(xié)助Packet集成的人員。貢獻(xiàn)者包括負(fù)責(zé)初始提交和代碼審查的Maxime Guyot和Aivars Sterns、負(fù)責(zé)文檔審查的Rong Zhang和Ed Vielmetti以及維護(hù)Packet Go庫和Terraform provider的Tomáš Karásek。
原文標(biāo)題:Bringing Kubernetes to the bare-metal edge,作者:John Studarus
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】