2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號(hào):閩ICP備19027007號(hào)-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
Docker提供了一個(gè)可以在您的筆記本上運(yùn)行的小型、輕量級(jí)虛擬機(jī)之后,Kubernetes接下來(lái)提供了一個(gè)真正的生產(chǎn)集群。事實(shí)證明,運(yùn)行生產(chǎn)集群是一項(xiàng)復(fù)雜的工作。例如,Kubernetes并沒(méi)有“開(kāi)箱即用”的工具來(lái)管理擴(kuò)展。
在本文中,我將討論Kubernetes中的三個(gè)級(jí)別的伸縮。首先,我將讓?xiě)?yīng)用程序了解它的資源,然后配置Kubernetes以從云中請(qǐng)求更多的虛擬機(jī),最后,我將討論一下高可用性和多個(gè)集群之間的平衡。
參見(jiàn):Kubernetes安全指南(免費(fèi)PDF) (TechRepublic)
雖然Kubernetes能夠向上或向下擴(kuò)展應(yīng)用程序,但是需要“彈性地”配置這些工作。例如,Kubernetes可以跟蹤任何一個(gè)應(yīng)用程序需要的資源,以確保它不會(huì)在虛擬機(jī)上拋出太多的資源。您可以定義應(yīng)用程序的內(nèi)存、CPU和網(wǎng)絡(luò)帶寬需求。為此,您需要對(duì)生產(chǎn)中的應(yīng)用程序進(jìn)行概要分析,以確定這些需求是什么,然后在pod的配置中表達(dá)這些需求。如果沒(méi)有這些信息,調(diào)度器將假定資源需求為零,并且很容易用pods使虛擬機(jī)超載。
假設(shè)應(yīng)用程序設(shè)計(jì)成可伸縮的,您可能希望運(yùn)行多個(gè)pod以獲得高可用性。通過(guò)這種方式,您可以執(zhí)行滾動(dòng)升級(jí)并保持接近100%的正常運(yùn)行時(shí)間。Kubernetes的文檔中有一個(gè)關(guān)于按比例部署的教程,但那是一個(gè)手動(dòng)的按比例增加和減少資源的方法。水平Pod自動(dòng)調(diào)度器可以監(jiān)視CPU、內(nèi)存和其他指標(biāo),并根據(jù)需要添加和刪除Pod。
集群本身將擁有資源。如果它在按cpu分鐘付費(fèi)的云中運(yùn)行,那么您希望將這個(gè)數(shù)字保持得盡可能小。這就引入了一個(gè)新問(wèn)題,即如何使集群根據(jù)需求進(jìn)行擴(kuò)展。
開(kāi)箱即用的Kubernetes沒(méi)有——也不能——提供工具來(lái)擴(kuò)展自己。集群是一個(gè)集群,不知道自身之外的其他資源。但是,可以編寫(xiě)一個(gè)中間件工具來(lái)監(jiān)視連接到其他可以提供虛擬機(jī)的服務(wù)的利用率。這可以是公共云、私有云(如OpenStack)或使用VMWare等工具的虛擬機(jī)場(chǎng)。Microsoft、Amazon、IBM和谷歌都在它們的云中為Kubernetes用戶提供這種自動(dòng)調(diào)焦技術(shù),并且還有開(kāi)源的自動(dòng)調(diào)焦工具。
集群擴(kuò)展的另一個(gè)選擇是OpenShift, Red Hat的容器平臺(tái),它運(yùn)行Kubernetes集群。OpenShift可以將資源分配給它,并且可以管理這些資源的放大和縮小。它還可以管理混合云環(huán)境,其中一些資源位于內(nèi)部,而其他資源位于公共云中。
集群請(qǐng)求更多資源的想法是一回事。如果您想運(yùn)行多個(gè)集群怎么辦?
問(wèn)題從簡(jiǎn)單的將開(kāi)發(fā)、測(cè)試和生產(chǎn)集群作為單獨(dú)的實(shí)體開(kāi)始。如果沒(méi)有這個(gè)(或?qū)iT(mén)的節(jié)流限制),彈性集群的性能/負(fù)載測(cè)試就可能排除生產(chǎn)集群。再加上對(duì)高可用性的需求,這可能意味著在一個(gè)云提供商的不同區(qū)域有多個(gè)集群。然后,您將擁有不同的操作單元,在不同的國(guó)家運(yùn)行多個(gè)集群,以及將客戶路由到其所在大陸的數(shù)據(jù)中心的能力。
IBM云平臺(tái)的CTO Jason McGee解釋說(shuō),這是一個(gè)乘法問(wèn)題。計(jì)算一下,一個(gè)跨國(guó)企業(yè)可能有幾十個(gè)不同的Kubernetes集群。這使得全面了解實(shí)際情況變得相當(dāng)困難,更不用說(shuō)實(shí)際管理資源和成本了。
為了管理他們自己的22000多個(gè)集群云,IBM構(gòu)建了Razee,這是一個(gè)以后可以作為開(kāi)源提供的工具。
參見(jiàn):Kubernetes: IT專(zhuān)業(yè)人士和商業(yè)領(lǐng)袖指南(TechRepublic Premium)
在歷史的這個(gè)時(shí)刻,接受擴(kuò)大Kubernetes規(guī)模的挑戰(zhàn),基本上是自愿成為一家全面發(fā)展的數(shù)字公司。這對(duì)Amazon很有效,它將Web服務(wù)變成了一項(xiàng)價(jià)值74億美元的業(yè)務(wù)。如果你的公司不是亞馬遜(Amazon),你可能會(huì)想到荷馬?辛普森(Homer Simpson)的話:“別人不能做嗎?”
作為另一種選擇,您可以考慮集群的用途。您可能想要做一些非常具體的事情,而不是擴(kuò)展,比如在Hadoop中進(jìn)行大數(shù)據(jù)挖掘,或者啟用像Redis這樣的NoSQL數(shù)據(jù)庫(kù)。像Redis Labs這樣的專(zhuān)業(yè)提供商開(kāi)始創(chuàng)建托管服務(wù)產(chǎn)品,旨在處理一個(gè)應(yīng)用程序并很好地處理它。亞歷克斯·Mi?owski復(fù)述,產(chǎn)品專(zhuān)員,解釋了該公司了解這些規(guī)模問(wèn)題,創(chuàng)建了一個(gè)操作員管理Kubernetes集群運(yùn)行的工具復(fù)述,NoSql數(shù)據(jù)庫(kù)。服務(wù)提供可以在本地集群(內(nèi)部)、云中、作為云中的托管服務(wù),甚至可以管理本地運(yùn)行在裸機(jī)服務(wù)器上的Redis。
在接下來(lái)的24個(gè)月里,我預(yù)計(jì)會(huì)看到專(zhuān)業(yè)云服務(wù)的增長(zhǎng),隨后要么這些服務(wù)被主要的云服務(wù)提供商收購(gòu),要么云服務(wù)提供商創(chuàng)建自己的競(jìng)爭(zhēng)產(chǎn)品。
所以睜大眼睛,不要眨眼。事情變化很快,你不想錯(cuò)過(guò)它。
2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號(hào):閩ICP備19027007號(hào)-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。