天天看點

YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量

目錄

引言

實驗環境

實驗步驟

建立鈎子程式

建立應用備份任務

建立應用恢複任務并應用鈎子程式

檢驗鈎子程式效果

總結

引言

YS1000是首個國産企業級Kubernetes應用的備份容災商業解決方案,為企業提供易于使用、可擴充、安全的解決方案,用于Kubernetes核心容器應用在多雲架構下的備份恢複、容災保護及遷移。這次YS1000 2.10版本釋出了很多客戶要求的新功能,其中一個對以前的鈎子程式進行了更新, 增加了鈎子程式的管理,并且可以更靈活的定義鈎子程式, 可以分别在任務執行前,執行後或者任務失敗後執行鈎子程式,鈎子程式的定義支援多種腳本或者遠端指令。

本文使用Wordpress應用恢複做為例子, 介紹了通過使用一個遠端程式指令建立的鈎子程式,在恢複wordpress 應用後, 靈活地更改wordpress的副本數量。

實驗環境

  1. Kubernetes 版本
    kubectl get node
    NAME            STATUS   ROLES                  AGE   VERSION
    ecs-e224-0001   Ready    control-plane,master   24d   v1.23.8
               
  2. 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
               
  3. 确認備份前應用的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左側導航欄選擇鈎子程式,在頁面右側點選建立鈎子程式
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 輸入鈎子程式名稱, 選擇目标叢集unlimited
  • 在執行任務清單裡選擇任務執行之後, 選擇遠端程式指令, 并輸入修改副本的指令
bash -c kubectl -n wordpress scale --replica=3 deployment wordpress
           
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 點選建立後,在頁面上可以看到新建立的鈎子程式
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量

建立應用備份任務

  • 在YS1000 UI左側導航欄選擇叢集應用備份,點選建立應用備份
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 填入備份計劃名稱,選擇備份倉庫
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 選擇應用所在的叢集和命名空間
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 選擇備份政策,點選下一步直到完成
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 啟動一個備份任務。 這個備份中的wordpress應用隻有一個wordpress pod 副本
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量

建立應用恢複任務并應用鈎子程式

  • 建立一個ys1000的恢複任務,輸入任務名稱和目标叢集, 點選下一步
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 選擇全部恢複, 點選下一步
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 預設恢複政策, 點選下一步
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 預設進階恢複選項, 點選下一步
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 點選啟用鈎子程式,在恢複後執行處選擇建立好的modify-replica鈎子程式名稱,點選完成
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 等待wordpress 應用恢複完成
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量
  • 點選詳情頁面,可以看到恢複任務的執行步驟
YS1000實戰:揭秘鈎子程式——修改應用恢複後的資源副本數量

檢驗鈎子程式效果

使用指令檢視在目标叢集中的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自動執行了鈎子程式進而達到了将副本數量按需更改的目的,并且鈎子程式可以在以後的恢複任務中重複使用。

繼續閱讀