日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Kubernetes集群的災(zāi)難恢復(fù)

Kubernetes 集群的災(zāi)難恢復(fù)

作者:科技狠活與軟件技術(shù) 2023-06-27 17:37:08

云計(jì)算 在本文中,我們討論為 Kubernetes 容器集群設(shè)置災(zāi)難恢復(fù)的選項(xiàng)以及最佳可用解決方案。

創(chuàng)新互聯(lián)公司2013年成立,先為龍華等服務(wù)建站,龍華等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為龍華企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

業(yè)務(wù)連續(xù)性的重要性

業(yè)務(wù)連續(xù)性是指制定應(yīng)對重大中斷和災(zāi)難的策略。災(zāi)難恢復(fù)(DR) 幫助組織在發(fā)生中斷或?yàn)?zāi)難時(shí)恢復(fù)和恢復(fù)業(yè)務(wù)關(guān)鍵功能或正常操作。

高可用性集群 是支持關(guān)鍵業(yè)務(wù)應(yīng)用程序的服務(wù)器組。應(yīng)用程序在主服務(wù)器上運(yùn)行,如果出現(xiàn)故障,應(yīng)用程序操作將轉(zhuǎn)移到輔助服務(wù)器上,并在輔助服務(wù)器上繼續(xù)運(yùn)行。

與容器前相比,災(zāi)難恢復(fù)策略的工作方式顯著不同。那么關(guān)系就簡單直接了,應(yīng)用程序和應(yīng)用服務(wù)器之間是一對一的映射。對所有內(nèi)容進(jìn)行備份或快照以便在發(fā)生故障時(shí)進(jìn)行恢復(fù)是過時(shí)的方法。

災(zāi)難恢復(fù)類型

在我們討論不同的災(zāi)難恢復(fù)方法之前,了解不同類型的災(zāi)難恢復(fù)站點(diǎn)非常重要。容災(zāi)站點(diǎn)分為冷站點(diǎn)、溫站點(diǎn)、熱站點(diǎn)三種。

冷站點(diǎn):這是基本選項(xiàng),需要最少的硬件/設(shè)備或沒有硬件/設(shè)備。將不會有連接、備份或數(shù)據(jù)同步。盡管這是最基本、最便宜的選項(xiàng)之一,但它還沒有準(zhǔn)備好承受故障轉(zhuǎn)移的影響。

暖站點(diǎn):與冷站點(diǎn)相比,這種類型的升級選項(xiàng)很少??梢赃x擇網(wǎng)絡(luò)連接和硬件。這具有數(shù)據(jù)同步功能,并且可以在數(shù)小時(shí)或數(shù)天內(nèi)解決故障轉(zhuǎn)移,具體取決于設(shè)置類型。

熱門站點(diǎn):這是該地塊中最優(yōu)質(zhì)的選項(xiàng),具有配備齊全的硬件和連接以及近乎完美的數(shù)據(jù)同步。與其他兩種類型的站點(diǎn)相比,這是一種昂貴的設(shè)置類型。

災(zāi)難對組織的影響可能非常昂貴,因此首先做出最佳選擇非常重要。災(zāi)難恢復(fù)管理可以減輕災(zāi)難造成的破壞性事件的影響。沒有一種方法/選項(xiàng)是完美的,并且可能會根據(jù)企業(yè)/組織的要求和類型而有所不同。

傳統(tǒng)災(zāi)難恢復(fù)方法

選項(xiàng) 1:我們可以通過定期備份來實(shí)現(xiàn)冷備用,或者您可以通過批量/計(jì)劃復(fù)制數(shù)據(jù)來實(shí)現(xiàn)熱備用。這里的主要區(qū)別在于從主數(shù)據(jù)中心到災(zāi)難恢復(fù)的復(fù)制類型。在此選項(xiàng)中,只有在線購買備用設(shè)備后,應(yīng)用程序和數(shù)據(jù)才可用,并且由于定期/計(jì)劃的備份而導(dǎo)致數(shù)據(jù)丟失的可能性很高。

選項(xiàng) 2: 在這種情況下,我們采用連續(xù)復(fù)制,復(fù)制之間的基線時(shí)間非常短。這是一種熱備,另一種是帶有只讀副本的熱備。這意味著兩者在讀取數(shù)據(jù)方面將是相同的,而數(shù)據(jù)只能在主數(shù)據(jù)中心位置寫入。備用可以在發(fā)生中斷時(shí)立即使用。

選項(xiàng) 3:這是進(jìn)行災(zāi)難恢復(fù)設(shè)置的最可靠的方法。在這種情況下,您需要維護(hù)兩個(gè)具有實(shí)時(shí)數(shù)據(jù)無縫復(fù)制的活動(dòng)數(shù)據(jù)中心。該模型需要使用最新技術(shù)和工具堆棧進(jìn)行高級設(shè)置。這是一個(gè)綜合模型,但可能很昂貴。配置和維護(hù)可能很復(fù)雜——運(yùn)行這種設(shè)置需要特定的技能。

容器災(zāi)難恢復(fù)

現(xiàn)在,我們來討論一下如何利用容器化生態(tài)系統(tǒng)進(jìn)行災(zāi)難恢復(fù)管理。

Kubernetes 集群:部署 Kubernetes 時(shí),您將獲得一個(gè)集群。Kubernetes 集群由一組稱為節(jié)點(diǎn)的工作機(jī)器組成,它們運(yùn)行容器化應(yīng)用程序。每個(gè)集群至少有一個(gè)工作節(jié)點(diǎn)。工作節(jié)點(diǎn)托管作為應(yīng)用程序工作負(fù)載組件的Pod ??刂破矫婀芾砑褐械墓ぷ鞴?jié)點(diǎn)和 Pod。在生產(chǎn)環(huán)境中,控制平面通常跨多臺計(jì)算機(jī)運(yùn)行,集群通常運(yùn)行多個(gè)節(jié)點(diǎn),提供容錯(cuò)和高可用性。要了解有關(guān)集群組件的更多信息,請參閱鏈接。

在此設(shè)置中,應(yīng)用程序不會部署到一臺定義的服務(wù)器中。它可以調(diào)度在任何工作節(jié)點(diǎn)上。容量管理將在集群中完成,因?yàn)?Kubernetes 是一個(gè)編排工具——根據(jù)節(jié)點(diǎn)的可用性分配部署。

我們需要備份什么

我們知道 Kubernetes 生態(tài)系統(tǒng)的本質(zhì)是非常動(dòng)態(tài)的,這使得更傳統(tǒng)的備份系統(tǒng)和技術(shù)更難在 Kubernetes 節(jié)點(diǎn)和應(yīng)用程序環(huán)境中良好運(yùn)行。RPO 和 RTO 可能需要更加嚴(yán)格,因?yàn)閼?yīng)用程序需要不斷啟動(dòng)和運(yùn)行。

以下是備份的重要事項(xiàng)列表:

  • 配置
  • 容器鏡像
  • 政策
  • 證書
  • 用戶訪問控制
  • 持久卷

集群中有兩種類型的組件:有狀態(tài)組件和無狀態(tài)組件。狀態(tài)完整組件會留意、期待響應(yīng)、跟蹤信息,并在未收到響應(yīng)時(shí)重新發(fā)送請求。ETCD 和 Volumes 是有狀態(tài)組件。在 Kubernetes 平面的其余部分,工作節(jié)點(diǎn)和工作負(fù)載是無狀態(tài)組件。備份所有有狀態(tài)組件非常重要。

ETCD備份

ETCD 是一種分布式鍵值存儲,用于保存和管理分布式系統(tǒng)保持運(yùn)行所需的關(guān)鍵信息。最值得注意的是,它管理流行的容器編排平臺 Kubernetes 的配置數(shù)據(jù)、狀態(tài)數(shù)據(jù)和元數(shù)據(jù)。

我們可以利用ETCD內(nèi)置的快照功能來備份ETCD。另一種選擇是拍攝存儲卷的快照。第三個(gè)選項(xiàng)是備份 Kubernetes 對象/資源?;謴?fù)可以分別從快照、卷和對象完成。

持久卷備份

Kubernetes 持久卷是管理員配置的卷。它們是使用特定的文件系統(tǒng)、大小和識別特征(例如卷 ID 和名稱)創(chuàng)建的。

Kubernetes 持久卷具有以下屬性

  • 它是動(dòng)態(tài)配置的或由管理員配置的
  • 使用特定文件系統(tǒng)創(chuàng)建
  • 有特定的尺寸
  • 具有識別特征,例如卷 ID 和名稱

為了讓 pod 開始使用這些卷,需要聲明它們,以及 pod 規(guī)范中引用的聲明。持久卷聲明描述 Pod 所需的存儲量和特征,查找任何匹配的持久卷,并聲明這些。存儲類描述默認(rèn)卷信息。

從持久卷創(chuàng)建卷快照:

apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: new-snapshot-test
spec:
volumeSnapshotClassName: csi-hostpath-snapclass
source:
persistentVolumeClaimName: pvc-test

恢復(fù)卷快照

您可以引用 aVolumeSnapshot來PersistentVolumeClaim使用現(xiàn)有卷中的數(shù)據(jù)配置新卷,或?qū)⒕砘謴?fù)到您在快照中捕獲的狀態(tài)。VolumeSnapshot要在 a 中引用 a PersistentVolumeClaim,請將數(shù)據(jù)源字段添加到您的PersistentVolumeClaim.

在此示例中,您引用VolumeSnapshot在新聲明中創(chuàng)建的PersistentVolumeClaim并更新Deployment來使用新聲明。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-restore
spec:
dataSource:
name: my-snapshot
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
storageClassName: standard-rwo
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

恢復(fù) Kubernetes 平臺操作

我們可以通過兩種方式恢復(fù)k8s平臺:重建或恢復(fù)。以下是恢復(fù)平臺運(yùn)營的一些策略:

  • 平臺備份與恢復(fù)

我們需要使用備份工具來運(yùn)行此操作,該工具將從與應(yīng)用程序 ETCD、配置和映像相關(guān)的源集群中獲取備份,并將這些信息存儲在備份存儲庫中。備份完成后,您需要使用相同的備份工具從目標(biāo)集群運(yùn)行此恢復(fù)操作,并且可以從復(fù)制存儲庫恢復(fù)信息。

  • 從快照恢復(fù)虛擬機(jī)

該策略僅適用于 ETCD 恢復(fù)。從 ETCD 快照恢復(fù) Kubernetes 集群所涉及的步驟可能會有所不同,具體取決于 Kubernetes 環(huán)境的設(shè)置方式,但下面描述的步驟旨在讓您熟悉基本過程。還值得注意的是,下面描述的過程替換了現(xiàn)有的 ETCD 數(shù)據(jù)庫,因此如果組織需要保留數(shù)據(jù)庫內(nèi)容,則必須在繼續(xù)之前創(chuàng)建數(shù)據(jù)庫的備份副本。

  1. 安裝ETCD客戶端
  2. 確定適當(dāng)?shù)?IP 地址
  3. 編輯清單文件以更新路徑
  4. 找到規(guī)格部分
  5. 將初始集群令牌添加到文件中
  6. 更新掛載路徑
  7. 替換軟管路徑的名稱
  8. 驗(yàn)證新恢復(fù)的數(shù)據(jù)庫
  • 故障轉(zhuǎn)移到另一個(gè)集群

如果一個(gè)集群出現(xiàn)故障,我們會使用故障轉(zhuǎn)移集群。這些集群與基礎(chǔ)設(shè)施和無狀態(tài)應(yīng)用程序相同。然而,配置和秘密可能不同。在設(shè)置時(shí),這兩種類型的集群可以與 CI/CD 同步。由于我們有并行運(yùn)行的雙集群,因此在設(shè)置和維護(hù)方面可能會很昂貴。

  • 在多站點(diǎn)情況下故障轉(zhuǎn)移到另一個(gè)站點(diǎn)

在這個(gè)策略中,我們需要構(gòu)建一個(gè)跨多個(gè)站點(diǎn)的集群。這適用于云和本地。由于 ETCD 仲裁,始終建議擁有兩個(gè)以上站點(diǎn)且站點(diǎn)數(shù)量為奇數(shù),以便在一個(gè)站點(diǎn)發(fā)生故障時(shí)保持集群運(yùn)行。與其他選項(xiàng)相比,這是一種流行且有效的方式。節(jié)省收益取決于我們?nèi)绾喂芾懋a(chǎn)能。

  • 從頭開始重建

這就是所謂的GitOps,這里的概念是,我們?yōu)槭裁床辉诔霈F(xiàn)故障的情況下重建系統(tǒng)而不是修復(fù)呢?如果集群出現(xiàn)故障,我們可以從git包裝器構(gòu)建整個(gè)集群,并且不需要對ETCD進(jìn)行備份。這非常適合無狀態(tài)應(yīng)用程序,但如果您將其與持久性數(shù)據(jù)相結(jié)合,那么我們需要尋找支持和恢復(fù)存儲的選項(xiàng)。

結(jié)論/總結(jié)

根據(jù)需求、復(fù)雜性和預(yù)算來規(guī)劃和設(shè)計(jì)自己的災(zāi)難恢復(fù)策略非常重要。提前做好計(jì)劃非常重要。我們需要知道基礎(chǔ)設(shè)施的容忍程度是多少,可以承受多少服務(wù)損失等,從而設(shè)計(jì)出經(jīng)濟(jì)高效的災(zāi)難恢復(fù)策略。所需的另一項(xiàng)關(guān)鍵了解是關(guān)于工作負(fù)載。我們正在運(yùn)行有狀態(tài)的工作負(fù)載還是無狀態(tài)的工作負(fù)載?我們需要了解與備份和恢復(fù)相關(guān)的底層技術(shù)和依賴項(xiàng)。當(dāng)涉及需要 100% 正常運(yùn)行時(shí)間和可用性的任務(wù)關(guān)鍵型云原生應(yīng)用程序的 DevOps 時(shí)。在發(fā)生災(zāi)難時(shí),應(yīng)用程序需要繼續(xù)可用并順利運(yùn)行。


本文名稱:Kubernetes集群的災(zāi)難恢復(fù)
轉(zhuǎn)載來于:http://www.dlmjj.cn/article/dhcjdec.html