TKE中怎么使用Velero遷移復(fù)制集群資源

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)TKE中怎么使用 Velero 遷移復(fù)制集群資源,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

郯城網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

遷移原理

在需要被遷移的集群和目標(biāo)集群上都安裝 Velero 實(shí)例,并且兩個(gè)集群的 Velero 實(shí)例指向相同的騰訊云 COS 對(duì)象存儲(chǔ)位置,使用 Velero 在需要被遷移的集群執(zhí)行備份操作生成備份數(shù)據(jù)存儲(chǔ)到騰訊云 COS ,然后在目標(biāo)集群上使用 Velero 執(zhí)行數(shù)據(jù)的還原操作實(shí)現(xiàn)遷移,遷移原理如下:

TKE中怎么使用 Velero 遷移復(fù)制集群資源

前提條件

  • 已 注冊(cè)騰訊云賬戶。

  • 已開通騰訊云 COS 服務(wù)。

  • 已有需要被遷移的 TKE 集群(以下稱作集群 A),已創(chuàng)建遷移目標(biāo)的 TKE 集群(以下稱作集群 B),創(chuàng)建 TKE 集群請(qǐng)參閱 創(chuàng)建集群。

  • 集群 A 和 集群 B 都需要安裝 Velero 實(shí)例(1.5版本以上),并且共用同一個(gè)騰訊云 COS 存儲(chǔ)桶作為 Velero 后端存儲(chǔ),安裝步驟請(qǐng)參閱 配置存儲(chǔ)和安裝 Velero 。

注意事項(xiàng)

  1. 從 1.5 版本開始,Velero 可以使用 Restic 備份所有pod卷,而不必單獨(dú)注釋每個(gè) pod。默認(rèn)情況下,此功能允許用戶使用 restic 備份所有 pod 卷,但以下卷情況除外:

    本示例需要 Velero 1.5 以上版本且啟用 restic 來備份持久卷數(shù)據(jù),請(qǐng)確保在安裝 Velero 階段開啟 --use-restic--default-volumes-to-restic 參數(shù),安裝步驟請(qǐng)參閱 配置存儲(chǔ)和安裝 Velero 。

    • 掛載默認(rèn) Service Account Secret 的卷

    • 掛載的 hostPath 類型卷

    • 掛載 Kubernetes secretsconfigmaps 的卷

  2. 在執(zhí)行遷移過程中,請(qǐng)不要對(duì)兩邊集群資源做任何 CRUD 操作,以免在遷移過程中造成數(shù)據(jù)差異,最終導(dǎo)致遷移后的數(shù)據(jù)不一致。

  3. 盡量保證集群 B 和集群 A 工作節(jié)點(diǎn)的CPU、內(nèi)存等規(guī)格配置相同或不要相差太大,以免出現(xiàn)遷移后的 Pods 因資源原因無法調(diào)度導(dǎo)致 Pending 的情況。

操作步驟

在集群 A 創(chuàng)建備份

可以手動(dòng)執(zhí)行備份操作,也可以給 velero 設(shè)置定期自動(dòng)備份,設(shè)置方法可以使用 velero schedule -h 查看。本示例將以 default 、default2 命名空間的資源情況作比較驗(yàn)證,下圖可以看到集群 A 中兩個(gè)命名空間下的 Pods 和 PVC 資源情況:

提示:可以指定在備份期間執(zhí)行一些自定義 Hook 操作。比如,需要在備份之前將運(yùn)行應(yīng)用程序的內(nèi)存中的數(shù)據(jù)持久化到磁盤。 有關(guān)備份 Hook 的更多信息請(qǐng)參閱 備份 Hook 。

TKE中怎么使用 Velero 遷移復(fù)制集群資源

其中,集群中的 minio 對(duì)象存儲(chǔ)服務(wù)使用了持久卷,并且已經(jīng)上傳了一些圖片數(shù)據(jù),如下圖所示:

TKE中怎么使用 Velero 遷移復(fù)制集群資源

執(zhí)行下面命令來備份集群中不包含 velero 命名空間(velero 安裝的默認(rèn)命名空間)資源的其他所有資源,如果想自定義需要備份的集群資源范圍,可使用 velero create backup -h 查看支持的資源篩選參數(shù)。

velero backup create <BACKUP-NAME> --exclude-namespaces <NAMESPACE>

本示例我們創(chuàng)建一個(gè) “default-all” 的集群備份,備份過程如下圖所示:

TKE中怎么使用 Velero 遷移復(fù)制集群資源

備份任務(wù)狀態(tài)顯示是 “Completed” 時(shí),說明備份任務(wù)完成,可以通過 velero backup logs | grep error 命令檢查是否有備份操作發(fā)生錯(cuò)誤,沒有輸出則說明備份過程無錯(cuò)誤發(fā)生,如下圖所示:

注意:請(qǐng)確保備份過程未發(fā)生任何錯(cuò)誤,假如 velero 在執(zhí)行備份過程中發(fā)生錯(cuò)誤,請(qǐng)排查解決后重新執(zhí)行備份。

TKE中怎么使用 Velero 遷移復(fù)制集群資源

備份完成后,臨時(shí)將備份存儲(chǔ)位置更新為只讀模式(非必須,這可以防止在還原過程中 Velero 在備份存儲(chǔ)位置中創(chuàng)建或刪除備份對(duì)象):

kubectl patch backupstoragelocation default --namespace velero \
    --type merge \
    --patch '{"spec":{"accessMode":"ReadOnly"}}'

在集群 B 執(zhí)行還原

在執(zhí)行還原操作前集群 B 中 default 、default2 命名空間下沒有任何工作負(fù)載資源,查看結(jié)果如下圖:

TKE中怎么使用 Velero 遷移復(fù)制集群資源

臨時(shí)將集群 B 中 Velero 備份存儲(chǔ)位置也更新為只讀模式(非必須,這可以防止在還原過程中 Velero 在備份存儲(chǔ)位置中創(chuàng)建或刪除備份對(duì)象):

kubectl patch backupstoragelocation default --namespace velero \
    --type merge \
    --patch '{"spec":{"accessMode":"ReadOnly"}}'

提示:可以選擇指定在還原期間或還原資源后執(zhí)行自定義 Hook 操作。例如,可能需要在數(shù)據(jù)庫應(yīng)用程序容器啟動(dòng)之前執(zhí)行自定義數(shù)據(jù)庫還原操作。 有關(guān)還原 Hook 的更多信息請(qǐng)參閱 還原 Hook。

在還原操作之前,需確保集群 B 中 的 Velero 資源與云存儲(chǔ)中的備份文件同步。默認(rèn)同步間隔是1分鐘,可以使用--backup-sync-period 來配置同步間隔??梢允褂孟旅婷畈榭醇?A 的備份是否已同步:

velero backup get <BACKUP-NAME>

獲取備份成功檢查無誤后,執(zhí)行下面命令還原所有內(nèi)容到集群 B 中:

velero restore create --from-backup <BACKUP-NAME>

本示例執(zhí)行還原過程如下圖:

TKE中怎么使用 Velero 遷移復(fù)制集群資源

等待還原任務(wù)完成后查看還原日志, 可以使用下面命令查看還原是否有報(bào)錯(cuò)和跳過信息:

# 查看遷移時(shí)是否有錯(cuò)誤的還原信息
velero restore logs <BACKUP-NAME> | grep error 

# 查看遷移時(shí)跳過的還原操作
velero restore logs <BACKUP-NAME> | grep skip

從下圖可以看出沒有發(fā)生錯(cuò)誤的還原步驟,但是有很多 “skipped” 步驟,是因?yàn)槲覀冊(cè)趥浞菁嘿Y源時(shí)備份了不包含 velero 命名空間的所有集群資源,有一些同類型同名的集群資源已經(jīng)存在了,如 kube-system下的集群資源,當(dāng)還原過程中有資源沖突時(shí),velero 會(huì)跳過還原的操作步驟。所以實(shí)際上還原過程是正常的,可以忽略這些 “skipped” 日志,假如有特殊情況可以分析下日志看看。

TKE中怎么使用 Velero 遷移復(fù)制集群資源

遷移結(jié)果核驗(yàn)

查看校驗(yàn)集群 B 執(zhí)行遷移操作后的集群資源,可以看到 default 、default2 命名空間下的 pods 和 PVC 資源已按預(yù)期遷移成功:

TKE中怎么使用 Velero 遷移復(fù)制集群資源

再通過 Web 管理頁面登錄集群 B 中的 monio 服務(wù),可以看到 minio 服務(wù)中的圖片數(shù)據(jù)沒有丟失,說明持久卷數(shù)據(jù)也已按預(yù)期遷移成功。

TKE中怎么使用 Velero 遷移復(fù)制集群資源

至此,我們完成了 TKE 集群間資源的遷移,遷移操作完成后,請(qǐng)不要忘記把備份存儲(chǔ)位置恢復(fù)為讀寫模式(集群 A 和 集群B),以便下次備份任務(wù)可以成功使用:

kubectl patch backupstoragelocation default --namespace velero \
   --type merge \
   --patch '{"spec":{"accessMode":"ReadWrite"}}'

上述就是小編為大家分享的TKE中怎么使用 Velero 遷移復(fù)制集群資源了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:TKE中怎么使用Velero遷移復(fù)制集群資源
URL地址:http://bm7419.com/article8/pscdip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司、標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作