短短幾年內(nèi)躏仇,Kubernetes迅速成為事實(shí)上的容器編排開(kāi)源標(biāo)準(zhǔn)。許多Kubernetes解決方案和產(chǎn)品已經(jīng)從初創(chuàng)企業(yè)發(fā)展為傳統(tǒng)的供應(yīng)商近速,因此很難比較和對(duì)比各種產(chǎn)品扭屁。本文確定了在評(píng)估各種Kubernetes解決方案供應(yīng)商產(chǎn)品時(shí)要考慮的18項(xiàng)技術(shù)和運(yùn)維能力,在后續(xù)文章中會(huì)詳細(xì)比較了市場(chǎng)上四個(gè)領(lǐng)先解決方案(Pivotal PKS嘉冒、Red Hat OpenShift曹货、Rancher和Platform9 Managed Kubernetes)的這些產(chǎn)品的能力的完整性水平。
Kubernetes群集讳推、高可用性和自我修復(fù)
Kubernetes不提供現(xiàn)成的高可用集群部署顶籽,必須由Kubernetes管理員配置。建議在負(fù)載均衡服務(wù)器后至少配置三個(gè)主節(jié)點(diǎn)银觅,一個(gè)獨(dú)立或者集成的etcd集群礼饱,etcd保存儲(chǔ)所有群集狀態(tài)信息。任何高可用解決方案還必須考慮故障場(chǎng)景的自動(dòng)恢復(fù)和修復(fù)究驴。
支持部署模型
Kubernetes 解決方案的部署模型定義了它將如何集成到您的企業(yè)環(huán)境中镊绪,以及它可以為運(yùn)維提供服務(wù)級(jí)別協(xié)議。Kubernetes解決方案的前三個(gè)部署模型是:
本地部署洒忧,用戶自行下載并在本地部署Kubernetes蝴韭。
云部署,把Kuberenetes作為服務(wù)跑慕,例如把Kubernetes部署在AWS或者Azure上作為服務(wù)万皿。
混合部署,自由選擇本地部署或者云端部署核行,并且有能力集中管理本地和云端的Kubernetes集群牢硅。
硬件以及操作系統(tǒng)需求
在使用Kubernetes 啟動(dòng)和運(yùn)行之前需要滿足的基礎(chǔ)設(shè)施要求。某些解決方案需要購(gòu)買昂貴的底層基礎(chǔ)架構(gòu)許可芝雪,例如虛擬機(jī)管理程序vSphere减余,或者其他投資。
監(jiān)控以及運(yùn)維管理
企業(yè)級(jí)Kubernetes群集必須可監(jiān)控惩系,以處理任何集群故障位岔,保證群集和應(yīng)用程序的穩(wěn)定性和可用性如筛。Kubernetes解決方案必須提供開(kāi)箱即用監(jiān)控和運(yùn)維管理能力。
群集升級(jí)
Kubernetes 擁有大量的貢獻(xiàn)者社區(qū)抒抬,每3個(gè)月提供一個(gè)新版本杨刨。企業(yè)級(jí)解決方案將支持群集的滾動(dòng)升級(jí),以便群集和群集API即使在升級(jí)群集時(shí)也始終可用擦剑。此外妖胀,它將提供在發(fā)生故障時(shí)回滾到以前的穩(wěn)定版本的能力
多集群管理能力
單個(gè)Kubernetes群集可以水平擴(kuò)展以支持大型工作負(fù)載集。但是惠勒,在生產(chǎn)中運(yùn)行Kubernetes需要能夠運(yùn)行多個(gè)Kubernetes群集赚抡,因?yàn)槟Mㄟ^(guò)將開(kāi)發(fā)/測(cè)試/暫存應(yīng)用程序部署到單獨(dú)的群集來(lái)將其與生產(chǎn)應(yīng)用程序完全隔離。
多租戶支持纠屋,基于角色的訪問(wèn)控制以及單點(diǎn)登錄
Kubernetes支持使用命名空間抽象在群集級(jí)別進(jìn)行多租戶涂臣。但是,在多群集環(huán)境中售担,還需要一個(gè)更高級(jí)別的多租戶抽象來(lái)補(bǔ)充Kubernetes多租戶赁遗,并在不同用戶團(tuán)隊(duì)之間提供適當(dāng)級(jí)別的隔離。它應(yīng)與企業(yè)最常使用的單一登錄(SSO)解決方案集成灼舍,如 Active Directory 或 ADFS吼和、Okta 和其他流行的 SAML 提供程序。
負(fù)載均衡
Kubernetes可以在集群內(nèi)部對(duì)應(yīng)用或者服務(wù)請(qǐng)求做負(fù)載均衡骑素。但是炫乓,某些服務(wù)需要供外部客戶端使用。Kubernetes并沒(méi)有為此類服務(wù)提供開(kāi)箱即用的負(fù)載平衡解決方案献丑,企業(yè)級(jí)Kubernetes產(chǎn)品應(yīng)包括強(qiáng)大的外部負(fù)載平衡解決方案末捣,或與現(xiàn)有商業(yè)負(fù)載平衡器無(wú)縫集成。
私有鏡像庫(kù)支持與管理
在Kubernetes 群集上運(yùn)行容器化應(yīng)用程序需要訪問(wèn)存儲(chǔ)應(yīng)用程序映像的庫(kù)创橄。大型企業(yè)組織通常希望有一個(gè)安全的專用容器注冊(cè)表來(lái)存儲(chǔ)其專有應(yīng)用程序映像箩做。企業(yè)級(jí) Kubernetes 解決方案應(yīng)提供開(kāi)箱即用的鏡像管理功能。
支持更多的云供應(yīng)商
如今妥畏,每個(gè)企業(yè)都希望通過(guò)投資多個(gè)云解決方案來(lái)構(gòu)建云中立戰(zhàn)略邦邦。作為一部分,具有多個(gè)私有云和/或公共云戰(zhàn)略確保您不會(huì)陷入被動(dòng)醉蚁,例如單個(gè)云供應(yīng)商燃辖,沒(méi)有定價(jià)杠桿,在整個(gè)基礎(chǔ)架構(gòu)中實(shí)現(xiàn)高可用性网棍,并滿足您獨(dú)特的業(yè)務(wù)策略黔龟。
企業(yè)級(jí)用戶體驗(yàn)
企業(yè)級(jí)用戶體驗(yàn)就是擁有完善的用戶界面,使企業(yè)能夠通過(guò)應(yīng)用程序管理其基礎(chǔ)設(shè)施,對(duì)基礎(chǔ)設(shè)施提供了完整的可見(jiàn)性氏身,簡(jiǎn)化了整個(gè)環(huán)境中的通信巍棱。此外還應(yīng)允許跨多個(gè)群集的操作:例如,全局搜索特定類型的工作負(fù)載蛋欣,或在運(yùn)行在不同區(qū)域航徙、數(shù)據(jù)中心和云提供商上的所有群集上使用特定標(biāo)簽進(jìn)行標(biāo)記。
應(yīng)用程序生命周期管理以及應(yīng)用程序目錄
應(yīng)用程序目錄為 Kubernetes 之上的一組預(yù)打包應(yīng)用程序提供了簡(jiǎn)單的一鍵式部署陷虎。它還為最終用戶提供了一個(gè)工具捉偏,通過(guò)目錄構(gòu)建和發(fā)布自己的應(yīng)用程序,供其團(tuán)隊(duì)或組織中的其他人以一鍵方式部署泻红。應(yīng)用程序目錄使組織能夠?qū)σ唤M應(yīng)用程序部署配置或藍(lán)圖進(jìn)行標(biāo)準(zhǔn)化,從而避免配置混亂霞掺。
生產(chǎn)級(jí)服務(wù)級(jí)別協(xié)議(SLA)
隨著越來(lái)越多的組織在 Kubernetes 上部屬應(yīng)用程序運(yùn)營(yíng)其業(yè)務(wù)谊路,Kubernetes集群必須確保應(yīng)用程序可以支持業(yè)務(wù)的服務(wù)時(shí)效,必須確保部署的應(yīng)用程序可供開(kāi)發(fā)人員和業(yè)務(wù)部門(mén)持續(xù)可用。大多數(shù)組織需要99.9%的可用度菩彬。
易于安裝缠劝、安裝、連續(xù)使用骗灶、管理和維護(hù)
成功的Kubernetes平臺(tái)必須易于實(shí)施和維護(hù)惨恭,以便組織能夠持續(xù)利用容器。這是許多企業(yè)實(shí)施Kubernetes的主要障礙耙旦。
網(wǎng)絡(luò)支持和集成
網(wǎng)絡(luò)集成是在生產(chǎn)和大規(guī)模運(yùn)行Kubernetes群集的關(guān)鍵組成部分脱羡。企業(yè)通常希望Kubernetes能夠與SDN解決方案集成,或者可以選擇其他網(wǎng)絡(luò)方案免都。
存儲(chǔ)支持和已經(jīng)外部存儲(chǔ)集成
類似于網(wǎng)絡(luò)锉罐,與企業(yè)級(jí)存儲(chǔ)集成是生產(chǎn)中運(yùn)行Kubernetes群集的重要組成部分。Kubernetes 提供了一種稱為"持久卷"(PV)的抽象绕娘,用于保存有狀態(tài)應(yīng)用程序保留的數(shù)據(jù)脓规。對(duì)于企業(yè) Kubernetes產(chǎn)品來(lái)說(shuō),將 PV 映射到實(shí)際的高可用存儲(chǔ)技術(shù)非常重要险领。企業(yè)通常希望其Kubernetes部署與已部署的存儲(chǔ)解決方案集成侨舆,如NetApp、Pure绢陌、SolidFire 等挨下,或者他們可能希望與容器原生存儲(chǔ)技術(shù)(如Portworx)集成。
開(kāi)發(fā)人員自助服務(wù)
開(kāi)發(fā)人員應(yīng)該具有適當(dāng)隔離級(jí)下面,訪問(wèn)Kubernetes群集發(fā)布或者管理應(yīng)用复颈。
內(nèi)置 CI/CD 支持
開(kāi)發(fā)人員最關(guān)鍵的工作任務(wù)之一是持續(xù)集成/持續(xù)交付。強(qiáng)大的CI/CD支持對(duì)于確保敏捷開(kāi)發(fā)和快速向客戶交付軟件新版本至關(guān)重要。