迎接多集群 Kubernetes 的挑戰(zhàn)
譯文【51CTO.com快譯】隨著人們生活越來(lái)越多的方面轉(zhuǎn)移到線上,大規(guī)模擴(kuò)展互聯(lián)網(wǎng)的需求也越來(lái)越大。這一趨勢(shì)始于多年前,并經(jīng)歷了多次技術(shù)進(jìn)步的迭代。
AWS 于 2002 年作為第一個(gè)公共云產(chǎn)品推出,為企業(yè)外包IT 運(yùn)營(yíng)和根據(jù)需要上下擴(kuò)展資源消耗打開(kāi)了大門(mén)。虛擬機(jī)開(kāi)始將應(yīng)用軟件從物理硬件中抽象出來(lái),并且很快得到了新的部署模式。
微服務(wù)是獨(dú)立和松散耦合的服務(wù)集合,可以獨(dú)立于環(huán)境進(jìn)行維護(hù)和配置。當(dāng)包裝到容器中時(shí),它們可以大規(guī)模部署,成為新一代分布式基礎(chǔ)設(shè)施的構(gòu)建塊。
Rancher、Docker Swarm 和 Mesos 等不同技術(shù)競(jìng)相在容器編排中占據(jù)領(lǐng)先地位。Kubernetes(2014年由谷歌開(kāi)源)最終成為容器化微服務(wù)的首選。
雖然企業(yè)清楚地看到了 Kubernetes 的好處,但其固有的復(fù)雜性和陡峭的學(xué)習(xí)曲線使其難以應(yīng)用。較小的公司缺乏成功管理這項(xiàng)技術(shù)的運(yùn)營(yíng)專(zhuān)業(yè)知識(shí)和資源,較大的企業(yè)難以將云原生工具和流程集成到遺留基礎(chǔ)架構(gòu)中。
應(yīng)對(duì) Kubernetes 的復(fù)雜性
多年來(lái),業(yè)界出現(xiàn)了多種解決方案,旨在幫助組織采用 Kubernetes 并優(yōu)化容器編排。Rancher、OpenShift 和公共云托管服務(wù),例如 Azure Kubernetes Service、Elastic Kubernetes Service 和 Google Kubernetes Engine就是一些示例。
這些解決方案極大地簡(jiǎn)化了 Kubernetes 集群的部署和管理,加速了向云原生應(yīng)用程序的轉(zhuǎn)變,同時(shí)使它們更具可擴(kuò)展性和彈性。
因此,Kubernetes 獲得了廣泛的采用。2021 年,Traefik Labs 調(diào)查了 1,000 多名 IT 專(zhuān)業(yè)人士,了解他們對(duì)該技術(shù)的使用情況。超過(guò) 70% 的受訪者表示將 Kubernetes 用于商業(yè)項(xiàng)目。然而,剛剛克服采用容器技術(shù)挑戰(zhàn)的企業(yè)現(xiàn)在在擴(kuò)展部署方面尚未突破。
隨著 Kubernetes 的使用,新的挑戰(zhàn)也開(kāi)始出現(xiàn)。企業(yè)支持越來(lái)越多的 Kubernetes 集群,以滿足更多的容器化應(yīng)用程序的需求。然而,更多的集群意味著更多的組件需要管理和更新。在單個(gè) Kubernetes 部署中相對(duì)容易解決的問(wèn)題在更大的多集群環(huán)境中成倍增加。Kubernetes 的復(fù)雜性隨著它的擴(kuò)展而變得復(fù)雜。然而,多集群編排不可避免地成為工程師要解決的下一個(gè)前沿問(wèn)題。
Kubernetes 多集群需求
開(kāi)發(fā)人員需要適當(dāng)?shù)墓ぞ邅?lái)管理多集群挑戰(zhàn),從上下文警報(bào)到新的部署策略等等。
- 聯(lián)合工具。聯(lián)合工具提供了一種機(jī)制,用于表示哪些集群的配置受到管理,以及該配置應(yīng)該是什么樣子。托管集群中的一組API可以跨分布式環(huán)境協(xié)調(diào)多個(gè)Kubernetes集群的配置。聯(lián)合云技術(shù)支持兩個(gè)或多個(gè)地理上獨(dú)立的計(jì)算云的互連,使工程團(tuán)隊(duì)更容易處理復(fù)雜的多集群用例。
- 連通性。維護(hù)多個(gè)集群并將它們作為一個(gè)單元一起工作是非常復(fù)雜的。連通性使之成為可能。正確的工具可以幫助處理集群之間的互連、控制到集群的路由、跨地理分布式池的負(fù)載平衡(使用全局服務(wù)器負(fù)載平衡或 GSLB),以及管理跨多個(gè)集群的應(yīng)用程序更新。
- 安全問(wèn)題。在復(fù)雜的分布式 IT 環(huán)境中,安全挑戰(zhàn)更加復(fù)雜,但在采用云原生安全工具和流程時(shí),可以解決這些問(wèn)題。并且這將產(chǎn)生一些新的問(wèn)題。您如何處理零信任環(huán)境中的安全問(wèn)題?您如何管理連接的端到端加密?您如何控制對(duì)應(yīng)用程序的訪問(wèn)?您如何在分布式基礎(chǔ)架構(gòu)中維護(hù) TLS 證書(shū)管理?當(dāng)安全性集成到集群中時(shí),分布式應(yīng)用程序變得更加安全。
- 可觀察性。可觀察性使您能夠快速了解分布式基礎(chǔ)架構(gòu)的總體情況,從而可以快速輕松地診斷問(wèn)題。Grafana 和 Prometheus 就是解決此問(wèn)題工具。隨著擴(kuò)展部署的集群數(shù)量,可觀察性和上下文警報(bào)變得更加重要,因?yàn)槌霈F(xiàn)問(wèn)題的方式越來(lái)越多。擁有合適的工具,讓開(kāi)發(fā)人員能夠準(zhǔn)確地查看問(wèn)題所在,不僅可以讓?xiě)?yīng)用程序平穩(wěn)運(yùn)行,還可以減少大量猜測(cè)并節(jié)省寶貴的時(shí)間。
Kubernetes 多集群的未來(lái)
確保集群、服務(wù)和網(wǎng)絡(luò)流量在云原生世界中無(wú)縫協(xié)作是一項(xiàng)重大挑戰(zhàn)。Kubernetes 贏被世界各地的組織廣泛采用,但該技術(shù)也自然日趨成熟。隨著這種成熟度的提高,新的問(wèn)題和新的挑戰(zhàn)在多集群部署中變得更加復(fù)雜。
在 Kubernetes 上構(gòu)建和操作應(yīng)用程序的開(kāi)發(fā)、工程和運(yùn)營(yíng)團(tuán)隊(duì)(所有技能級(jí)別)需要更簡(jiǎn)單的方法來(lái)實(shí)現(xiàn)其集群和網(wǎng)絡(luò)的可見(jiàn)性、可擴(kuò)展性和安全性。在尋找管理標(biāo)準(zhǔn)微服務(wù)架構(gòu)的工具時(shí),開(kāi)發(fā)人員必須優(yōu)先考慮提供即時(shí)可觀察性、開(kāi)箱即用的上下文警報(bào)、地理感知內(nèi)容交付和內(nèi)置服務(wù)網(wǎng)格等功能的解決方案。
多集群編排的挑戰(zhàn)正變得越來(lái)越普遍,但通過(guò)使用正確的工具適應(yīng)云原生世界,開(kāi)發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)將能夠解決多集群 Kubernetes 的復(fù)雜性,并看到Kubernetes帶來(lái)前所未有的巨大好處。
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】