×

在 Red Hat OpenShift Container Platform 中,节点通过 Red Hat OpenShift Machine Config Operator (MCO) 自动更新。Machine Config Operator (MCO) 是一个自定义资源,集群使用它来管理其节点的完整生命周期。

当在集群中创建或更新 MCO 资源时,MCO 会获取更新,对选定的节点执行必要的更改,并通过隔离、清空和重新启动这些节点来优雅地重启节点。它处理从内核到 kubelet 的所有内容。

但是,MCO 和 GitOps 工作流之间的交互可能会导致严重的性能问题和其他不良行为。本节介绍如何使 MCO 和 Argo CD GitOps 编排工具协同工作。

解决方案:增强机器配置和 Argo CD 的性能

当您将 Machine Config Operator 用作 GitOps 工作流的一部分时,以下顺序可能会导致次优性能

  • Argo CD 在提交包含应用程序资源的 Git 存储库后启动自动同步作业。

  • 如果 Argo CD 在同步操作过程中注意到新的或更新的机器配置,MCO 会获取对机器配置的更改并开始重新启动节点以应用更改。

  • 如果集群中重新启动的节点包含 Argo CD 应用程序控制器,则应用程序控制器将终止,并且应用程序同步将中止。

由于 MCO 按顺序重新启动节点,并且 Argo CD 工作负载可以在每次重新启动时重新调度,因此同步完成可能需要一些时间。这会导致未定义的行为,直到 MCO 重新启动同步中受机器配置影响的所有节点。