2.2. 容器资源要求
您可以在下限 (requests) 和上限 (limits) 和 Web 容器配置资源要求。执行环境 control plane 用于项目更新,但通常与作业的默认执行环境相同。
设置资源请求和限值是最佳实践,因为定义了这两个容器具有更高的 服务质量 类。这意味着,如果底层节点受资源约束,且集群必须获得 pod 以防止运行内存或其他故障,则 control plane pod 不太可能被获取。
这些请求和限值适用于自动化控制器的控制 pod,以及是否设置了限制,确定实例的容量。默认情况下,控制作业需要一个容量单元。任务容器的内存和 CPU 限制用于决定控制节点的容量。有关如何计算它的更多信息,请参阅 link:https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5 /html-single/using_automation_execution/index""controller-capacity-determination[Automation controller capacity determination and job impact]。
| 名称 | 描述 | default |
|---|---|---|
|
| Web 容器资源要求 | 请求:{CPU: 100m, memory: 128Mi} |
|
| 任务容器资源要求 | 请求:{CPU: 100m, memory: 128Mi} |
|
| EE control plane 容器资源要求 | 请求:{CPU: 100m, memory: 128Mi} |
|
| Redis control plane 容器资源要求 | requests: {CPU:100m, memory: 128Mi} |
建议使用 topology_spread_constraints 来将控制节点的最大分发到单独的底层 Kubernetes worker 节点。合理的请求和限值集将是限制,其总和等于节点上的实际资源。如果只设定了 limits,则请求会自动设置为等于限制。但是,由于允许控制 pod 中容器之间资源使用的一些可变性,您可以将 请求 设置为较低数量,例如,节点上可用的资源的 25%。对于 worker 节点有 4 个 CPU 和 16 GB RAM 的集群,容器自定义示例如下:
spec:
...
web_resource_requirements:
requests:
cpu: 250m
memory: 1Gi
limits:
cpu: 1000m
memory: 4Gi
task_resource_requirements:
requests:
cpu: 250m
memory: 1Gi
limits:
cpu: 2000m
memory: 4Gi
redis_resource_requirements
requests:
cpu: 250m
memory: 1Gi
limits:
cpu: 1000m
memory: 4Gi
ee_resource_requirements:
requests:
cpu: 250m
memory: 1Gi
limits:
cpu: 1000m
memory: 4Gi