在使用 Flink Kubernetes Operator v1.8 时,我一直无法找到限制 pod 资源请求和限制的方法。
我也尝试在podTemplate的containers部分配置,但是没有生效。 我想知道 Flink Kubernetes Operator v1.8 是否支持控制 pod 资源
期待问题得到解决。
您可以通过使用与 CPU 相关的限制因子配置来实现此目的,如下所示:
spec:
...
flinkConfiguration:
...
kubernetes.taskmanager.cpu.limit-factor: "x"
kubernetes.jobmanager.cpu.limit-factor: "y"
这与您在作业/任务管理器部分下定义的值一起计算您的限制是什么:
jobManager:
resource:
memory: "..."
cpu: ...
taskManager:
resource:
memory: ...
cpu: ...
您可以将其视为 Pod 使用的最小可能值(例如
taskManager.resource.cpu
是最小值),并且它将放大到由上面的限制因子定义的因子:
# taskmanager example
minimum: taskManager.resource.cpu
limit: taskManager.resource.cpu * kubernetes.taskmanager.cpu.limit-factor
# jobmanager example
minimum: jobManager.resource.cpu
limit: jobManager.resource.cpu * kubernetes.jobmanager.cpu.limit-factor
如果您使用的是 Flink 版本和/或支持它的 Flink Operator,您可以考虑使用 Autotuning,它与 Flink 中的自动缩放支持结合使用,允许您定义给定资源的限制,并允许 Flink根据需要分配符合该定义的资源。