管理 Kubernetes 工作负载的BlueXP backup and recovery执行挂钩模板
执行钩子是一种自定义操作,您可以将其配置为与托管 Kubernetes 应用程序的数据保护操作一起运行。例如、如果您有一个数据库应用程序、则可以使用执行挂钩在快照之前暂停所有数据库事务、并在快照完成后恢复事务。这样可以确保应用程序一致的快照。创建执行钩子模板时,您可以指定钩子的类型、要运行的脚本以及用于确定该钩子适用哪些容器的筛选条件。然后,您可以使用该模板将执行钩子与您的应用程序关联。
|
默认情况下, NetApp Backup and Recovery 会在数据保护操作期间自动冻结和解冻某些应用程序(例如 KubeVirt)的文件系统。您可以选择根据Trident保护文档中的说明全局或针对特定应用程序禁用此行为:
|
组织管理员或SnapCenter管理员。"了解BlueXP backup and recovery访问角色" 。 "了解所有服务的 BlueXP 访问角色" 。
执行挂钩的类型
BlueXP backup and recovery根据其运行时间支持以下类型的执行挂钩:
-
预快照
-
快照后
-
预备份
-
备份后
-
还原后
执行顺序
运行数据保护操作时、执行钩事件按以下顺序发生:
-
任何适用的自定义操作前执行挂钩都会在相应的容器上运行。您可以根据需要创建和运行任意数量的自定义操作前挂钩、但操作前这些挂钩的执行顺序既不能保证也不可配置。
-
如果适用、会发生文件系统冻结。
-
执行数据保护操作。
-
如果适用、冻结的文件系统将被解除冻结。
-
任何适用的自定义操作后执行挂钩都会在相应的容器上运行。您可以根据需要创建和运行任意数量的自定义操作后挂机、但这些挂机在操作后的执行顺序既不能保证也不可配置。
如果创建多个相同类型的执行挂钩(例如、预快照)、则无法保证这些挂钩的执行顺序。但是、可以保证不同类型的挂钩的执行顺序。例如、以下是具有所有不同类型挂钩的配置的执行顺序:
-
已执行预快照挂钩
-
已执行后快照挂钩
-
已执行备份前的挂钩
-
已执行备份后挂钩
|
在生产环境中启用执行钩脚本之前,应始终对其进行测试。您可以使用 "kubectl exec" 命令方便地测试脚本。在生产环境中启用执行挂钩后、请测试生成的快照和备份、以确保它们一致。为此、您可以将应用程序克隆到临时命名空间、还原快照或备份、然后测试应用程序。 |
|
如果快照前执行挂钩添加、更改或删除了Kubornetes资源、则这些更改将包括在快照或备份以及任何后续还原操作中。 |
有关自定义执行挂钩的重要注意事项
在为应用程序规划执行挂钩时,请考虑以下几点。
-
执行挂钩必须使用脚本执行操作。许多执行挂钩可以引用同一个脚本。
-
执行钩子需要以可执行shell脚本的格式编写。
-
脚本大小限制为96 KB。
-
执行挂钩设置和任何匹配标准用于确定哪些挂钩适用于快照、备份或恢复操作。
|
由于执行挂钩通常会减少或完全禁用其运行的应用程序的功能,因此您应始终尽量缩短自定义执行挂钩运行所需的时间。如果使用关联的执行挂钩启动备份或快照操作、但随后将其取消、则在备份或快照操作已开始时、仍允许运行这些挂钩。这意味着、备份后执行挂钩中使用的逻辑不能假定备份已完成。 |
执行钩筛选器
在为应用程序添加或编辑执行挂钩时、可以向执行挂钩添加筛选器、以管理挂钩将匹配的容器。对于在所有容器上使用相同容器映像的应用程序、筛选器非常有用、但可能会将每个映像用于不同的用途(例如Elasticsearch)。通过筛选器、您可以创建执行挂钩在某些容器上运行的方案、但不一定是所有相同的容器上运行的方案。如果为单个执行钩创建多个筛选器、则这些筛选器将与逻辑运算符和运算符结合使用。每个执行连接最多可以有10个活动筛选器。
添加到执行挂钩中的每个筛选器都会使用一个正则表达式来匹配集群中的容器。当某个挂钩与某个容器匹配时、该挂钩将在该容器上运行其关联脚本。筛选器的正则表达式使用正则表达式2 (RE2)语法、不支持创建从匹配列表中排除容器的筛选器。有关BlueXP backup and recovery支持的执行钩子过滤器中的正则表达式的语法的信息,请参阅 "正则表达式2 (RE2)语法支持" 。
|
如果将命名空间筛选器添加到在还原或克隆操作之后运行的执行挂钩、并且还原或克隆源和目标位于不同的命名空间中、则命名空间筛选器仅会应用于目标命名空间。 |
执行钩示例
请访问 "NetApp Verda GitHub项目" 、下载适用于Apache cassandr和Elascearch等常见应用程序的真实执行挂钩。您还可以查看示例并了解如何构建自己的自定义执行挂钩。
创建执行钩子模板
您可以创建自定义执行挂钩模板,用于在应用程序上执行数据保护操作之前或之后执行操作。
-
在BlueXP中,转到 保护 > 备份和恢复。
-
选择*Settings*选项卡。
-
展开*执行钩子模板*部分。
-
选择*创建执行钩子模板*。
-
输入执行挂钩的名称。
-
(可选)选择一种钩子类型。例如,还原后钩子会在还原操作完成后运行。
-
在“脚本”文本框中,输入要作为执行钩子模板的一部分运行的可执行 Shell 脚本。您也可以选择“上传脚本*”来上传脚本文件。
-
选择 * 创建 * 。
模板已创建并出现在*执行挂钩模板*部分的模板列表中。