多集群应用如何帮助企业级Kubernetes获益
擴(kuò)大Kubernetes集群規(guī)模運(yùn)維人員有兩個(gè)選擇:Scale Up和Scale Out。如果想將工作量以及成本維持在較低水平,那么多集群應(yīng)用程序?qū)⑹且粋€(gè)重要功能。本文將介紹這兩種選擇,并闡述為何多集群應(yīng)用程序如此重要。
Kubernetes有許多受用戶喜愛(ài)的功能。它提供了一種在大型資源池上部署和運(yùn)行應(yīng)用程序的最佳方式。
憑借其易于使用的UI和開(kāi)箱即用的RBAC、監(jiān)控、審計(jì)、日志等功能,Rancher可以輕松地管理企業(yè)級(jí)Kubernetes。
使用Rancher,IT運(yùn)維人員可以連接他們的云提供商(AWS、GCP、Azure等)或者數(shù)據(jù)中心,只需簡(jiǎn)單點(diǎn)擊幾下就可以創(chuàng)建集群。
隨著企業(yè)對(duì)Kubernetes需求的增長(zhǎng),IT運(yùn)維人員可以有兩種選擇:
- Scale Up:團(tuán)隊(duì)在相關(guān)項(xiàng)目上一起工作,不需要通過(guò)添加更多節(jié)點(diǎn)來(lái)擴(kuò)大現(xiàn)有集群的規(guī)模。
- Scale Out:由于安全問(wèn)題、資源回收或其他原因,團(tuán)隊(duì)需要高度隔離,可以通過(guò)添加更多集群來(lái)scale out Kubernetes環(huán)境。Rancher均支持這兩種選擇。
要如何做到無(wú)論選擇scale up還是scale out,都能夠確保企業(yè)級(jí)Kubernetes管理的工作量和成本都控制在一個(gè)比較低的水平呢?
支持多集群應(yīng)用程序就是實(shí)現(xiàn)這一目標(biāo)的其中一步。盡管名稱上仿佛表示該功能僅適用于多個(gè)集群,但其實(shí)它也適用于同一集群中的多個(gè)項(xiàng)目。
Scale up場(chǎng)景
隨著對(duì)高可靠性、高可用性或更大規(guī)模集群的需求增長(zhǎng),集群管理員可能會(huì)向現(xiàn)有集群添加更多節(jié)點(diǎn)。為了實(shí)現(xiàn)某種程度的隔離,管理員可以為每個(gè)團(tuán)隊(duì)提供他們自己的項(xiàng)目。Rancher中的項(xiàng)目是比命名空間更高級(jí)別的抽象,可以使用RBAC進(jìn)行限制。
使用相同集群的團(tuán)隊(duì)仍然可以在自己的項(xiàng)目中工作,而不需要查看其他項(xiàng)目。出于公司的需求或者不同的團(tuán)隊(duì)可能使用相同的應(yīng)用程序,因此必須將該應(yīng)用程序的副本push到多個(gè)項(xiàng)目中。例如,由內(nèi)部開(kāi)發(fā)人員組成的項(xiàng)目團(tuán)隊(duì)可能必須與外包團(tuán)隊(duì)協(xié)作。因?yàn)樗麄儽仨氃谙嗤膽?yīng)用程序上工作,而需要有自己的獨(dú)立實(shí)例,因此兩個(gè)項(xiàng)目中都應(yīng)該有應(yīng)用程序的副本。
Scale out場(chǎng)景
隨著Kubernetes在企業(yè)中的應(yīng)用越來(lái)越多,我們經(jīng)常發(fā)現(xiàn)客戶會(huì)構(gòu)建多個(gè)集群,以在不同的團(tuán)隊(duì)之間獲得最高級(jí)別的隔離。在這種情況下,企業(yè)需求(例如需要在每個(gè)集群中部署安全工具)要求集群管理員將相同應(yīng)用程序的副本push到每個(gè)集群。
在客戶可能擁有數(shù)百(甚至數(shù)千)個(gè)集群的邊緣計(jì)算場(chǎng)景中,這種問(wèn)題的復(fù)雜度是指數(shù)級(jí)的。
為何多集群應(yīng)用程序如此重要
在這兩種情況下,將應(yīng)用程序副本部署到多個(gè)目標(biāo)的場(chǎng)景都算是較小的問(wèn)題。如果沒(méi)有復(fù)雜的腳本和高度熟練的支持團(tuán)隊(duì),想要升級(jí)和維護(hù)這些應(yīng)用程序的同步幾乎是不可能的。
這就是對(duì)于多集群應(yīng)用程序的支持變得如此重要的原因。想象一下在同一(或多)集群上的多個(gè)項(xiàng)目?jī)?nèi)針對(duì)應(yīng)用程序的Helm charts,我們需要提供配置的值,覆蓋項(xiàng)目/集群具體的設(shè)置,然后單擊一個(gè)按鈕部署應(yīng)用程序。
不久前的如何部署和管理多Kubernetes集群一文就詳細(xì)介紹了這種功能。
為這些應(yīng)用程序選擇升級(jí)策略(滾動(dòng)或同步更新)的能力,進(jìn)一步簡(jiǎn)化了應(yīng)用程序保持最新版本的方式。
可以說(shuō),無(wú)論是那些支持具有多個(gè)集群的企業(yè)級(jí)Kubernetes用戶,還是那些職場(chǎng)時(shí)具有多個(gè)項(xiàng)目、單個(gè)集群的用戶,多集群應(yīng)用程序都擁有著強(qiáng)大的能力。
總 結(jié)
百聞不如一見(jiàn),試著用用它吧。你可能會(huì)發(fā)現(xiàn),采用Kubernetes作為你的企業(yè)策略并不會(huì)像有些人說(shuō)的那樣復(fù)雜!
如果要在實(shí)驗(yàn)室或者開(kāi)發(fā)環(huán)境中測(cè)試這些特性,請(qǐng)安裝最新的alpha版本:
https://rancher.com/docs/ranc...
如果有任何需要反饋的內(nèi)容,請(qǐng)進(jìn)入Github中的issue,或者直接加入我們的論壇或者添加小助手微信(rancher2)進(jìn)技術(shù)群,與同道中人一起交流。
Github:
https://github.com/rancher/ra...
論壇鏈接:
https://forums.cnrancher.com/
總結(jié)
以上是生活随笔為你收集整理的多集群应用如何帮助企业级Kubernetes获益的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 最小外接矩形思路以及实现
- 下一篇: Codeforces Round #54