溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

K8S容災(zāi)方案的五個關(guān)鍵點是那些

發(fā)布時間:2021-09-26 17:06:53 來源:億速云 閱讀:253 作者:柒染 欄目:系統(tǒng)運維

本篇文章給大家分享的是有關(guān)K8S容災(zāi)方案的五個關(guān)鍵點是那些,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

容災(zāi)恢復(fù)是絕大多數(shù)企業(yè)級應(yīng)用的基本要求

在沒有Kubernetes也沒有容器的時候,備份和恢復(fù)解決方案通常在虛擬機(VM)級別上實現(xiàn)。當(dāng)應(yīng)用程序在單個VM上運行時,容災(zāi)系統(tǒng)適用于這樣的傳統(tǒng)應(yīng)用程序。但是,當(dāng)使用Kubernetes對應(yīng)用程序進(jìn)行容器化管理時,這樣的容災(zāi)系統(tǒng)就無法使用了。有效的Kubernetes容災(zāi)恢復(fù)方案必須針對容器化架構(gòu)進(jìn)行重新設(shè)計,并按Kubernetes的原生方式來運行。
傳統(tǒng)的基于VM的備份和恢復(fù)解決方案,使用快照來收集數(shù)據(jù),但這些數(shù)據(jù)對于某個具體容器化應(yīng)用并不足夠。因為任何一個特定的VM都將包含來自多個應(yīng)用的數(shù)據(jù)。如果您嘗試通過VM快照來備份APP 1,將會同時獲取其他應(yīng)用的多余數(shù)據(jù)。但這些數(shù)據(jù)從容器角度來看又不夠:APP 1可能還會將數(shù)據(jù)存儲在其他VM上。因此通過對某個單獨VM的快照無法捕獲所有APP1的數(shù)據(jù)。
K8S容災(zāi)方案的五個關(guān)鍵點是那些
基于分布式體系結(jié)構(gòu)的現(xiàn)代應(yīng)用需要的容災(zāi)方案,需要能夠找到特定應(yīng)用的所有相關(guān)數(shù)據(jù)和配置信息,并能夠以零RPO(Recovery Point Objective,復(fù)原點目標(biāo))和接近零RTO(Recovery Time Object,復(fù)原時間目標(biāo))的方式進(jìn)行恢復(fù)。

一個有效的Kubernetes容災(zāi)解決方案需要具備:

容器粒度的控制
能夠備份數(shù)據(jù)和配置
Kubernetes命名空間感知
針對多云和混合云架構(gòu)的優(yōu)化
保持應(yīng)用的一致性

容災(zāi)解決方案必須滿足以上五個標(biāo)準(zhǔn),才能確保Kubernetes上運行的含大量數(shù)據(jù)的應(yīng)用程序在容災(zāi)恢復(fù)的時候,滿足服務(wù)水平協(xié)議(SLA)或相關(guān)法律要求。

讓我們分析一下為什么這五個標(biāo)準(zhǔn)都很重要。

容器粒度控制  
容器粒度控制容災(zāi)方案意味著用戶可以備份特定的Pod或Pod組,而不是備份整個VM或服務(wù)器。這使得用戶可以僅快照屬于該應(yīng)用程序的容器。
K8S容災(zāi)方案的五個關(guān)鍵點是那些
假設(shè)您有一個三節(jié)點Kubernetes集群,其中有一個三節(jié)點Cassandra環(huán)和三個單節(jié)點PostgreSQL數(shù)據(jù)庫,分布在三個虛擬機上。使用傳統(tǒng)的災(zāi)難恢復(fù)解決方案,備份群集的唯一方法是備份三個虛擬機。這將導(dǎo)致提取,轉(zhuǎn)換和加載過程帶來的復(fù)雜性增加,存儲成本增加和RTO增加。備份充足數(shù)據(jù)的唯一方法是備份超出必要數(shù)據(jù)的更多數(shù)據(jù)。
使用容器粒度的方式,可以在三個VM上僅備份一個PostgreSQL數(shù)據(jù)庫或三節(jié)點Cassandra環(huán),而無需其他任何備份。

Kubernetes命名空間感知  
傳統(tǒng)的備份和恢復(fù)解決方案不是以Kubernetes的方式進(jìn)行的。
Kubernetes中的命名空間通常運行多個相關(guān)的應(yīng)用程序。例如,企業(yè)Kubernetes部署中的一種常見模式是使公司/部門所有的應(yīng)用都運行在同一個命名空間內(nèi)。在這種情況下,通常有必要一起備份Kubernetes命名空間中的所有應(yīng)用程序。
K8S容災(zāi)方案的五個關(guān)鍵點是那些

但是,像每個單獨的應(yīng)用一樣,命名空間分布在許多虛擬機上。每個虛擬機可能還有來自幾個不同命名空間的Pod。如果沒有支持命名空間的容災(zāi)解決方案,則完全備份將需要備份和存儲遠(yuǎn)遠(yuǎn)超出必要的數(shù)據(jù)。即使采用了這種過分的備份策略,在發(fā)生故障的情況下也很難還原整個命名空間,從而導(dǎo)致較高的RTO。

應(yīng)用的一致性
即使您想通過備份系統(tǒng)中的所有VM來解決上述問題,使用傳統(tǒng)的容災(zāi)恢復(fù)方案也很難避免數(shù)據(jù)損壞。為了成功地備份分布式應(yīng)用,而沒有數(shù)據(jù)損壞的風(fēng)險,在快照進(jìn)行過程中,必須鎖定應(yīng)用程序中的所有Pods?;赩M的快照無法實現(xiàn)此目的,因為它們無法鎖定整個應(yīng)用程序,無法跨多個VM執(zhí)行應(yīng)用一致性的快照。
成功的快照,要使數(shù)據(jù)損壞風(fēng)險最小化,并必須保持分布式架構(gòu)的應(yīng)用的一致性。這意味著在鎖定屬于應(yīng)用程序的所有Pods的同時,來執(zhí)行快照。

K8S容災(zāi)方案的五個關(guān)鍵點是那些

數(shù)據(jù)和配置備份

容災(zāi)系統(tǒng)的目標(biāo)不僅是防止數(shù)據(jù)丟失,還在于保持RTO較低。您需要應(yīng)用程序在遇到問題后盡快重新啟動并運行。
這需要備份應(yīng)用數(shù)據(jù)和配置信息。如果備份中不包含配置信息,則必須就地重建應(yīng)用程序,這是一個緩慢,手動且可能容易出錯的過程。但是,如果僅保存配置,則可能會丟失所有數(shù)據(jù)。

K8S容災(zāi)方案的五個關(guān)鍵點是那些
一個真正的Kubernetes的企業(yè)級容災(zāi)系統(tǒng)將同時包含數(shù)據(jù)和配置備份。這樣在系統(tǒng)失敗后,可以用一兩個命令快速重新部署應(yīng)用程序。

針對多云和混合云架構(gòu)進(jìn)行了優(yōu)化
絕大多數(shù)企業(yè)在實踐中,應(yīng)用程序至少在兩個環(huán)境中運行。這可能意味著多個本地數(shù)據(jù)中心或多個Amazon Web Services(AWS)區(qū)域。在容災(zāi)恢復(fù)的情況下,通常將一個數(shù)據(jù)中心作為主站點,而將第二個數(shù)據(jù)中心作為備份站點。但是,也有許多公司使用公有云和本地數(shù)據(jù)中心的組合來運行應(yīng)用程序并滿足其業(yè)務(wù)需求。在大多數(shù)情況下,企業(yè)會根據(jù)其RPO和RTO要求選擇最佳的架構(gòu)方式。
K8S容災(zāi)方案的五個關(guān)鍵點是那些
對于容災(zāi)恢復(fù)解決方案而言,結(jié)合這些不同的架構(gòu)方式以支持不同級別的RPO和RTO至關(guān)重要。有效的容災(zāi)恢復(fù)解決方案應(yīng)該能夠提供同步和異步數(shù)據(jù)復(fù)制,具體取決于主群集和備份群集之間的延遲。
K8S容災(zāi)方案的五個關(guān)鍵點是那些
當(dāng)主站點和備份站點之間的往返延遲通常在10毫秒以下時,可以實現(xiàn)允許RTO和RPO為零的同步復(fù)制。這種情況通常是當(dāng)主集群和備份群集所在數(shù)據(jù)中心地理相距較近。
在某些情況下,企業(yè)希望主站點和備份站點之間的地理距離遠(yuǎn)一些。在這種情況下,RTO仍可以為零或接近零。但是延遲的增加,同步復(fù)制數(shù)據(jù)會產(chǎn)生比較大的性能問題。如果應(yīng)用能夠接受15分鐘或1小時的RPO,則也是可接受的容災(zāi)方案。

Kubernetes的企業(yè)級容災(zāi)恢復(fù)方案,應(yīng)為用戶提供適用于多云或混合云架構(gòu)的,同步復(fù)制或異步復(fù)制的選擇。這樣可以使用戶能夠基于自己的數(shù)據(jù)中心架構(gòu)和業(yè)務(wù)需求情況,來選擇不同的容災(zāi)恢復(fù)方案。

結(jié)論  
當(dāng)企業(yè)將關(guān)鍵業(yè)務(wù)應(yīng)用遷移至Kubernetes時,重新思考和設(shè)計容災(zāi)恢復(fù)的方案非常重要。實際上可以做到在滿足與容災(zāi)相關(guān)的SLA的同時,
在Kubernetes上運行應(yīng)用。

但它需要采用專為Kubernetes設(shè)計的容災(zāi)方法,與Kubernetes的工作方式深入結(jié)合。傳統(tǒng)的基于VM的容災(zāi)解決方案無法做到這一點。

Portworx Enterprise 存儲平臺是專門為容器和Kubernetes構(gòu)建的。它可為Kubernetes上運行的應(yīng)用實現(xiàn)零RPO和接近零的RTO容災(zāi)恢復(fù)。并具有容器粒度控制的,命名空間感知的,應(yīng)用一致性的容災(zāi)恢復(fù)。故障恢復(fù)可以完全自動化,從盡可能降低RTO。

以上就是K8S容災(zāi)方案的五個關(guān)鍵點是那些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

k8s
AI