YS1000实战:揭秘钩子程序——应用备份预检

目录

引言

实验环境

实验步骤

创建钩子程序

创建备份计划

创建备份任务

总结


引言

YS1000是国产企业级Kubernetes应用的备份容灾商业解决方案,为企业提供易于使用、可扩展、安全的解决方案,用于Kubernetes核心容器应用在多云架构下的备份恢复、容灾保护及迁移。本文介绍了其中一个重要功能——钩子程序。钩子程序是一段预置或者自定义的小程序, 可以分别在备份或者恢复任务执行前,执行后或者任务失败时等阶段执行几乎任何指令,指令可以是一个内置的指令,可以是一个 Linux 的命令,也可以是一段完整的 Shell 或者 Python 脚本。

本文以一个内置命令 pod-checker 为例,介绍了在备份前使用YS1000钩子程序对应用的Pod进行检查,如果Pod不在正常状态,就停止这次备份并把它标成失败,以防止这种无效的备份被用在后续的恢复中。

实验环境

  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. 确认备份前存在一个状态异常的Pod

    kubectl get pod -n gss
    NAME                   READY   STATUS             RESTARTS         AGE
    gss-78c457545d-9rpgw   0/1     CrashLoopBackOff   3176 (62s ago)   11d

实验步骤

创建钩子程序

  1. 在YS1000 UI左侧导航栏选择钩子程序,在页面右侧点击创建钩子程序

  2. 输入钩子程序的名称, 选择目标集群,指定重试次数,超时时间。如果你有需要,还可以指定是否可以忽略执行错误,以及执行过程中所需的环境变量等。

  3. 在执行阶段中勾选任务执行之前, 选择模版命令, 并输入pod-checker

  1. 点击创建后,在页面上可以看到新创建的钩子程序

创建备份计划

  1. 在YS1000 UI左侧导航栏选择集群应用备份,在页面右侧点击创建应用备份

  1. 按照向导创建备份计划,在钩子程序这一步,勾选是否启用,然后在备份前执行中选择刚才创建的hook

  2. 完成备份计划的创建

创建备份任务

  1. 选中刚才创建的备份计划,点击备份,点击确认

  1. 备份任务开始执行,一段时间之后,状态会显示失败,原因是钩子程序失败。说明我们定义的钩子程序发现了这个异常的Pod,从而阻止了备份的进行

  2. 点击任务的详情,可以看到一些更详细的信息

总结

以上步骤通过一个简单的内置指令,演示了钩子程序的使用场景和使用方式。除了一些内置的指令,我们还可以根据需求自行定制更复杂的钩子程序,甚至可以抛开默认的钩子程序镜像,开发自己的钩子镜像,从而执行任何想要的操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值