This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.5. (可选)添加 hook 以在RHEL系统上执行Ansible任务
在OpenShift Container Platform更新期间,您可以使用hook在RHEL计算系统上运行Ansible任务。
4.5.1. 在升级过程中使用 Ansible hook 复制链接链接已复制到粘贴板!
更新OpenShift Container Platform时,可以使用hook在执行特定操作时在Red Hat Enterprise Linux(RHEL)节点上运行自定义的任务。您可以使用 hook 提供定义了在执行特定任务之前或之后要运行的任务的文件。在OpenShift Container Platform集群中更新RHEL计算节点时,可以使用 hook 来验证或修改自定义的基础架构。
因为当 hook 失败时,这个操作将会失败,所以您必须把 hook 设计为可以多次运行,并且获得相同的结果。
hook 有以下限制: - hook 没有已定义或版本化的界面。它们可以使用内部的openshift-ansible
变量,但这些变量可能会在将来的OpenShift Container Platform版本被修改或删除。 - hook 本身没有错误处理机制,因此 hook 中的错误会暂停更新过程。如果出现错误,则需要解决相关的问题,然后再次进行升级。
4.5.2. 配置Ansible inventory文件以使用 hook 复制链接链接已复制到粘贴板!
您可以在 hosts
inventory 文件的all:vars
部分中定义 Red Hat Enterprise Linux(RHEL)compute 机器(也称为 worker 机器)更新时使用的 hook 。
先决条件
-
您可以访问用于添加RHEL compute 系统集群的计算机。您必须有访问定义RHEL系统的
hosts
Ansible 清单文件的权限。
流程
在设计了 hook 后,创建一个YAML文件,为其定义Ansible任务。此文件必须是一组任务,不能是一个 playbook,如以下示例所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改
hosts
Ansible inventory 文件来指定 hook 文件。hook 文件作为参数值在[all:vars]
部分指定。如下所示:清单文件中的 hook 定义示例
[all:vars] openshift_node_pre_upgrade_hook=/home/user/openshift-ansible/hooks/pre_node.yml openshift_node_post_upgrade_hook=/home/user/openshift-ansible/hooks/post_node.yml
[all:vars] openshift_node_pre_upgrade_hook=/home/user/openshift-ansible/hooks/pre_node.yml openshift_node_post_upgrade_hook=/home/user/openshift-ansible/hooks/post_node.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为了避免歧义,请在其定义中使用 hook 文件的绝对路径而不要使用相对路径。
4.5.3. RHEL计算系统可用的 hook 复制链接链接已复制到粘贴板!
在更新OpenShift Container Platform集群中的Red Hat Enterprise Linux(RHEL)compute 系统时,可以使用以下 hook。
Hook 名 | 描述 |
---|---|
|
|
|
|
|
|
|
|