目錄
引言
實驗環境
實驗步驟
建立鈎子程式
建立應用備份任務
建立應用恢複任務并應用鈎子程式
檢驗鈎子程式效果
總結
引言
YS1000是首個國産企業級Kubernetes應用的備份容災商業解決方案,為企業提供易于使用、可擴充、安全的解決方案,用于Kubernetes核心容器應用在多雲架構下的備份恢複、容災保護及遷移。這次YS1000 2.10版本釋出了很多客戶要求的新功能,其中一個對以前的鈎子程式進行了更新, 增加了鈎子程式的管理,并且可以更靈活的定義鈎子程式, 可以分别在任務執行前,執行後或者任務失敗後執行鈎子程式,鈎子程式的定義支援多種腳本或者遠端指令。
本文使用Wordpress應用恢複做為例子, 介紹了通過使用一個遠端程式指令建立的鈎子程式,在恢複wordpress 應用後, 靈活地更改wordpress的副本數量。
實驗環境
- Kubernetes 版本
kubectl get node NAME STATUS ROLES AGE VERSION ecs-e224-0001 Ready control-plane,master 24d v1.23.8
- YS1000 版本
helm list -n ys1000 NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION qiming-operator ys1000 1 2022-12-08 15:26:49.765681838 +0800 CST deployed ys1000-2.10.2 2.10.2
- 确認備份前應用的wordpress pod數量為1個
kubectl -n wordpress get pods NAME READY STATUS RESTARTS AGE wordpress-7bd5fcc587-k7hjw 1/1 Running 0 104m wordpress-mysql-6478987597-gcpkg 1/1 Running 0 104m kubectl -n wordpress get deployment NAMEREADY UP-TO-DATE AVAILABLE AGE wordpress 1/1 1 1 104m wordpress-mysql 1/1 1 1 104m
實驗步驟
建立鈎子程式
- 在YS1000 UI左側導航欄選擇鈎子程式,在頁面右側點選建立鈎子程式
- 輸入鈎子程式名稱, 選擇目标叢集unlimited
- 在執行任務清單裡選擇任務執行之後, 選擇遠端程式指令, 并輸入修改副本的指令
bash -c kubectl -n wordpress scale --replica=3 deployment wordpress
- 點選建立後,在頁面上可以看到新建立的鈎子程式
建立應用備份任務
- 在YS1000 UI左側導航欄選擇叢集應用備份,點選建立應用備份
- 填入備份計劃名稱,選擇備份倉庫
- 選擇應用所在的叢集和命名空間
- 選擇備份政策,點選下一步直到完成
- 啟動一個備份任務。 這個備份中的wordpress應用隻有一個wordpress pod 副本
建立應用恢複任務并應用鈎子程式
- 建立一個ys1000的恢複任務,輸入任務名稱和目标叢集, 點選下一步
- 選擇全部恢複, 點選下一步
- 預設恢複政策, 點選下一步
- 預設進階恢複選項, 點選下一步
- 點選啟用鈎子程式,在恢複後執行處選擇建立好的modify-replica鈎子程式名稱,點選完成
- 等待wordpress 應用恢複完成
- 點選詳情頁面,可以看到恢複任務的執行步驟
檢驗鈎子程式效果
使用指令檢視在目标叢集中的wordpress應用的wordpress pod 副本數量為3, 恢複後鈎子程式修改副本數量成功
[[email protected] ~]# kubectl -n wordpress get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
wordpress 3/3 3 3 8m34s
wordpress-mysql 1/1 1 1 8m34s
[[email protected] ~]# kubectl -n wordpress get pods
NAME READY STATUS RESTARTS AGE
wordpress-7bd5fcc587-6vj46 1/1 Running 0 67s
wordpress-7bd5fcc587-k7hjw 1/1 Running 0 8m38s
wordpress-7bd5fcc587-zj4vg 1/1 Running 0 67s
wordpress-mysql-6478987597-gcpkg 1/1 Running 0 8m38s
總結
以上執行步驟通過簡單的定義一個更改pod副本數量的鈎子程式, 在wordpress 應用恢複後,ys1000自動執行了鈎子程式進而達到了将副本數量按需更改的目的,并且鈎子程式可以在以後的恢複任務中重複使用。