天天看点

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自动执行了钩子程序从而达到了将副本数量按需更改的目的,并且钩子程序可以在以后的恢复任务中重复使用。

继续阅读