解决Kubernetes故障切换问题 如何解决不同路由器切换的问题
服務(wù)和集群肯定會(huì)在Kubernetes上出問(wèn)題,SRE或運(yùn)維人員通常會(huì)在半夜被要求手動(dòng)修復(fù)。雖然Kubernetes確實(shí)提供了一種故障切換機(jī)制,但它并不是以這樣一種方式自動(dòng)化的——在集群或服務(wù)出現(xiàn)故障時(shí),服務(wù)會(huì)立即轉(zhuǎn)移到副本集群配置,在那里它們會(huì)恢復(fù)功能。
Buoyant的高級(jí)軟件開(kāi)發(fā)人員Alejandro Pedraza在一篇博客中寫(xiě)道,Linkedr的一項(xiàng)新的自動(dòng)故障切換功能使Linkedr能夠自動(dòng)將所有流量從故障或無(wú)法訪問(wèn)的服務(wù)重定向到該服務(wù)的一個(gè)或多個(gè)副本,包括其他集群上的副本?!罢缒闼?,任何重定向的流量都能維持Linkedr對(duì)應(yīng)用程序的安全性、可靠性和透明度的所有保證,甚至可以跨越由開(kāi)放互聯(lián)網(wǎng)分隔的集群邊界?!?/p>
其他領(lǐng)先的服務(wù)網(wǎng)格提供商也為Kubernetes的故障切換缺陷提供了類(lèi)似的修復(fù),Istio和HashiCorp提供了類(lèi)似的修復(fù)。
松一口氣
對(duì)于Linkedr用戶(hù)來(lái)說(shuō),這種故障功能應(yīng)該會(huì)讓在Kubernetes環(huán)境中工作的運(yùn)維團(tuán)隊(duì)松一口氣。這是因?yàn)樗恍枰\(yùn)維團(tuán)隊(duì)“在半夜不得不去修復(fù)Kubernetes集群,而是通過(guò)自動(dòng)重新路由應(yīng)用流量而不需要任何代碼更改或重新配置?!逼髽I(yè)管理協(xié)會(huì)(EMA)的分析師Torsten Volk表示。
Linkedr的聯(lián)合創(chuàng)始人William Morgan也是Buoyant的首席執(zhí)行官,他表示,有了Linkedr新的自動(dòng)故障切換功能,集群運(yùn)維人員可以在服務(wù)級(jí)別以一種完全自動(dòng)化且對(duì)應(yīng)用程序透明的方式配置故障切換。這意味著,如果一個(gè)組件出現(xiàn)故障,該組件的所有流量將自動(dòng)路由到一個(gè)復(fù)制副本,“應(yīng)用程序不知道這一點(diǎn)”。
“如果該副本位于不同地區(qū)的不同集群中,或者甚至位于不同的云中,Linkedr的雙向TLS實(shí)施意味著,即使流量現(xiàn)在正在通過(guò)開(kāi)放互聯(lián)網(wǎng),也能保持完全安全。這是Linkedr用戶(hù)長(zhǎng)期以來(lái)一直要求的?!?/p>
就Istio而言,Istio“一段時(shí)間以來(lái)”一直支持Kubernetes的故障切換自動(dòng)化,Solo的全球現(xiàn)場(chǎng)首席技術(shù)官副總裁Christian Posta說(shuō),并用Solo.io Gloo Mesh“自動(dòng)化了所有配置”——“這主要源于Envoy所具有的位置和優(yōu)先級(jí)感知負(fù)載均衡?!?/p>
HashiCorp也實(shí)現(xiàn)了一段時(shí)間的故障切換功能的自動(dòng)化,這在其文檔中有所描述。
Volk說(shuō),Kubernetes的故障切換功能自動(dòng)化的推動(dòng)支持了策略驅(qū)動(dòng)應(yīng)用程序放置的最初概念。通過(guò)這種方式,“DevOps團(tuán)隊(duì)不再需要根據(jù)應(yīng)用程序需求精確定義特定的應(yīng)用程序環(huán)境,相反,開(kāi)發(fā)人員可以在應(yīng)用程序代碼中聲明應(yīng)用程序需求,然后服務(wù)網(wǎng)格匹配這些需求?!?/p>
簡(jiǎn)單概念
主要問(wèn)題是Kubernetes在發(fā)生故障時(shí)不提供自動(dòng)故障切換功能。Volk說(shuō),當(dāng)Kubernetes上的服務(wù)和集群出現(xiàn)故障時(shí),“DevOps團(tuán)隊(duì)通常必須更改應(yīng)用程序代碼,以特定于底層云基礎(chǔ)設(shè)施的方式更改流量路由。這意味著,你需要編寫(xiě)不同的代碼,將工作負(fù)載路由到AWS、Azure、Google Cloud或其他特定平臺(tái)上的集群或在這些集群之間。”
實(shí)際上,故障切換的概念很簡(jiǎn)單。Morgan說(shuō):“如果一個(gè)組件出現(xiàn)故障,將所有發(fā)送到該組件的流量發(fā)送到其他地方(通常在另一個(gè)集群中)的副本。對(duì)于希望使用故障切換來(lái)提高應(yīng)用程序恢復(fù)能力的DevOps團(tuán)隊(duì)來(lái)說(shuō),最大的挑戰(zhàn)之一就是Kubernetes本身沒(méi)有提供任何自動(dòng)化解決方案。因此,你可以跨區(qū)域部署應(yīng)用程序組件的副本,但它們之間的故障切換由你決定。更糟糕的是,如果你希望能夠?qū)蝹€(gè)服務(wù)進(jìn)行故障切換,應(yīng)用程序需要了解如何在發(fā)生故障時(shí)向不同的副本發(fā)送通信量。這會(huì)將應(yīng)用程序問(wèn)題與平臺(tái)問(wèn)題混為一談,并導(dǎo)致維護(hù)問(wèn)題?!?/p>
Mogan說(shuō),Linkerd中的新故障切換功能是在現(xiàn)有Kubernetes和Linkerd功能(如健康探測(cè)器和SMI流量拆分)的基礎(chǔ)上構(gòu)建的,并引入了最少的新機(jī)器和配置表面積。“正是這一設(shè)計(jì)原則,使得Linkeder在很大程度上成為運(yùn)維最簡(jiǎn)單的服務(wù)網(wǎng)格。這是我們對(duì)用戶(hù)承諾的一部分:Kubernetes已經(jīng)足夠復(fù)雜了;服務(wù)網(wǎng)格不必如此?!?/p>
原文鏈接:
https://thenewstack.io/the-rush-to-fix-the-kubernetes-failover-problem/
總結(jié)
以上是生活随笔為你收集整理的解决Kubernetes故障切换问题 如何解决不同路由器切换的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: charts 画饼图
- 下一篇: 移动4G无线网怎样和路由器桥接 移动宽带