新聞中心
Kubernetes插件的該如何擴(kuò)展,這6個(gè)方面必不可少
作者:云智時(shí)代 2020-06-17 08:23:08
云計(jì)算 為了支持生產(chǎn)級的部署,Kubernetes需要許多可擴(kuò)展的組件,比如日志記錄和監(jiān)控功能,安全治理等等。那么到底需要在哪些方面進(jìn)行擴(kuò)展,選擇哪些插件呢?

Kubernetes插件或擴(kuò)展是Kubernetes堆棧的重要組成部分,可幫助滿足各種需求并增強(qiáng)使用體驗(yàn),為了支持生產(chǎn)級的部署,Kubernetes需要許多可擴(kuò)展的組件,比如日志記錄和監(jiān)控功能,安全治理等等。那么到底需要在哪些方面進(jìn)行擴(kuò)展,選擇哪些插件呢?
1. 覆蓋網(wǎng)絡(luò)插件
容器必須以某種方式進(jìn)行通信,所以覆蓋網(wǎng)絡(luò)(Overlay network)插件十分重要。盡管集群可以獨(dú)立于覆蓋網(wǎng)絡(luò)運(yùn)行,但使用此覆蓋網(wǎng)絡(luò)的擴(kuò)展,將大大提升靈活性。
覆蓋網(wǎng)絡(luò)插件的有不少,比如Calico,Weave,F(xiàn)lannel,Canal(Calico + Flannel)和Kube Router。每個(gè)集群可以手動安裝,也可以針對每個(gè)集群分別安裝。但是,這可能很耗時(shí),并且限制縮放比例。由于覆蓋網(wǎng)絡(luò)是Kubernetes集群的關(guān)鍵部分,因此請確保它是自動化的,并且是Kubernetes管理平臺的一部分。
2. 云原生存儲擴(kuò)展
大多數(shù)用戶,開始使用無狀態(tài)應(yīng)用程序進(jìn)行Kubernetes時(shí),但很快便涉足有狀態(tài)應(yīng)用程序領(lǐng)域。此時(shí),需要一種使用特定擴(kuò)展來管理云原生存儲的方法。
Kubernetes提供基本的本地存儲功能。但是,它們可能在諸如存儲配置,訪問管理或針對不同存儲類型的SLA等方面不足。盡管可以通過半手動方式解決這些問題,但這給運(yùn)營團(tuán)隊(duì)帶來了負(fù)擔(dān),并帶來了可伸縮性問題。
為了通過狀態(tài)應(yīng)用程序支持,可擴(kuò)展的Kubernetes集群,需要自動執(zhí)行云原生存儲管理,操作和治理。這幾個(gè)選項(xiàng)是不錯的選擇,比如Portworx,Storage OS和Robin。開源項(xiàng)目還可以選擇Ceph和Rook。
所以在選擇構(gòu)建自己的云原生存儲,利用商業(yè)產(chǎn)品(或具有商業(yè)支持的開源產(chǎn)品),或使用Kubernetes擴(kuò)展云原生存儲功能。這三種選擇,第一種方法顯然不可行,因?yàn)闃?gòu)建自己的所需的工作和資源對大多數(shù)企業(yè)來說,都成本高昂的;最好考慮使用供應(yīng)商提供的現(xiàn)有云本地存儲框架,或使用Kubernetes內(nèi)置的存儲功能。
3. CI/CD管道插件
可以選擇各種持續(xù)集成和持續(xù)交付(CI/CD)擴(kuò)展。有些是特定于云原生的,而另一些是通用的,可以與Kubernetes或其他部署工具一起使用。這些工具中的每一個(gè)都有不同程度的可定制性。有些包裝與預(yù)配置的管道打包在一起,這限制了自定義,而另一些限制較少,但需要更多的設(shè)置工作。
在查看選項(xiàng)時(shí),請考慮開發(fā)團(tuán)隊(duì)正在使用的工具及其體驗(yàn)??梢酝ㄟ^插件,將CI/CD管道與Kubernetes和云原生堆棧集成在一起。如果沒有,請考慮使用開源工具,如Jenkins,Spinnaker或兩者的組合。
4. 安全管理和治理框架擴(kuò)展
安全管理和治理框架對于企業(yè)至關(guān)重要,挑戰(zhàn)也在所難免。通過不同的框架實(shí)現(xiàn)不同的治理規(guī)則,并且這些擴(kuò)展可能與現(xiàn)有的安全框架重疊。如果沒有一個(gè)能夠滿足所有治理需求的綜合工具,可能需要混合搭配以最大程度地覆蓋范圍,而又不會過度使用治理框架的數(shù)量和給運(yùn)營團(tuán)隊(duì)帶來負(fù)擔(dān)。
由于不同的企業(yè)的安全要求不同,因此安全插件也面臨類似的挑戰(zhàn)。首先,定義你的要求并確定正確的擴(kuò)展;其次,在使覆蓋范圍最大化的同時(shí),最小化所需的框架。
一些安全框架將與覆蓋網(wǎng)絡(luò)擴(kuò)展集成,或者可以利用某些Kubernetes安全功能,包括網(wǎng)絡(luò)策略,pod安全策略等。對于自動化而言,如NeuVector之類的解決方案可以在集群,環(huán)境和應(yīng)用程序中應(yīng)用通用策略。
5. 入口管理擴(kuò)展
入口管理可以將Kubernetes集群服務(wù)提供給外部用戶。為此,可以利用集群中的入口控制器。但是,更復(fù)雜的場景可能需要多個(gè)入口控制器并與API管理系統(tǒng)(如NGINX或Kong)集成。這兩個(gè)工具都與Kubernetes,云原生工具和不同的API管理系統(tǒng)集成在一起。
6. 運(yùn)行時(shí)框架
有許多應(yīng)用程序運(yùn)行時(shí)擴(kuò)展可供選擇。無服務(wù)器框架和服務(wù)網(wǎng)格通常與Kubernetes一起使用,并且能夠在每個(gè)集群中自動部署這些框架的功能非常有用。特別是對于開發(fā)和質(zhì)量保證。使用這些工具時(shí),請務(wù)必注意,它們會從應(yīng)用程序中收集其他指標(biāo)維度,并應(yīng)與Kubernetes日志收集和監(jiān)控集成。例如,服務(wù)網(wǎng)格可以為監(jiān)控和解決各種問題,提供有價(jià)值的跟蹤信息。
鏡像注冊表是Kubernetes的另一個(gè)重要擴(kuò)展。鏡像管理或構(gòu)建庫管理遠(yuǎn)遠(yuǎn)超出了托管構(gòu)建二進(jìn)制文件,Helm軟件包或Docker鏡像的范圍。它支持應(yīng)用程序恢復(fù)以及Kubernetes重啟Pod的能力,使其既具有部署時(shí)間又具有運(yùn)行時(shí)依賴性。還必須考慮與這些構(gòu)件庫相關(guān)的治理規(guī)則,例如誰可以在每個(gè)存儲庫中發(fā)布,并將這些規(guī)則與安全框架集成。
總結(jié)
Kubernetes插件或擴(kuò)展是任何Kubernetes堆棧的重要組成部分。對于某些功能,例如覆蓋網(wǎng)絡(luò),云本地存儲或CI/CD框架,選擇很簡單。但是,安全和治理帶來了復(fù)雜的問題。當(dāng)你將各種工具組合在一起時(shí),缺少單個(gè)綜合工具就需要對安全性要求進(jìn)行深入思考和考慮,這并非易事。
那么可能需要考慮使用企業(yè)級Kubernetes平臺,例如Kublr,它通過默認(rèn)設(shè)置關(guān)鍵擴(kuò)展來解決Kubernetes的安全和治理挑戰(zhàn)。此類平臺還與身份管理系統(tǒng)和RBAC集成。
名稱欄目:Kubernetes插件的該如何擴(kuò)展,這6個(gè)方面必不可少
本文網(wǎng)址:http://m.5511xx.com/article/dphepgj.html


咨詢
建站咨詢
