3.4. 在 worker 节点上调度的作业
自动化控制器和 Kubernetes 在调度作业时扮演一个角色。
启动作业时,其依赖项就会实现,这意味着作业模板、项目和清单设置的要求由自动化控制器启动任何项目更新或清单更新。
如果自动化控制器中的其他业务逻辑没有阻断作业,则 control plane 中有控制容量来启动作业,则会将作业提交到分配程序。控制作业的"成本"的默认设置是 1 个 容量。因此,具有 100 个容量的控制 pod 一次只能控制 100 个作业。给定控制容量,作业将从 pending 过渡到 waiting。
分配程序(即控制计划 pod 中的后台进程)启动一个 worker 进程来运行作业。这会使用与容器组关联的服务帐户与 Kubernetes API 通信,并使用自动化控制器中的 Container Group 中定义的 pod 规格来置备 pod。自动化控制器中的作业状态显示为 running。
Kubernetes 现在调度 pod。pod 可以保持 AWX_CONTAINER_GROUP_POD_PENDING_TIMEOUT
的 pending 状态。如果容器集因为 ResourceQuota
被拒绝,作业将从 pending 开始。您可以在命名空间中配置资源配额,以限制命名空间中的 pod 可消耗的资源数量。有关 ResourceQuota 的更多信息,请参阅 资源配额。