有兄弟使用 flink on k8s 命令提交任务的时候,限制 cpu 内存 参数的没 比如在容器中有 limits 和 requests 参数,命令提交任务的时候是什么参数?
在阿里云 Flink on K8s 中,使用 kubectl
命令行工具提交 Flink 任务时,可以通过 --overrides
参数来指定容器的 CPU 和内存资源限制。
具体来说,--overrides
参数可以指定容器的资源限制和请求,格式如下所示:
--overrides='{ "apiVersion":"v1", "spec":{ "containers":[{ "name":"<container-name>", "resources":{ "limits":{ "cpu":"<cpu-limit>", "memory":"<memory-limit>" }, "requests":{ "cpu":"<cpu-request>", "memory":"<memory-request>" } } }] } }'
其中,<container-name>
是容器的名称,<cpu-limit>
和 <memory-limit>
是容器的 CPU 和内存资源限制,<cpu-request>
和 <memory-request>
是容器的 CPU 和内存资源请求。这些参数可以根据您的实际需求进行设置。
在使用 Flink on Kubernetes 提交任务时,可以通过配置 Flink 的资源需求和限制来控制任务在 Kubernetes 上的资源使用情况。具体来说,可以通过以下两个参数来设置:
taskmanager.cpu 和 taskmanager.memory.process.size:这两个参数分别用于设置每个 TaskManager 容器的 CPU 和内存资源需求。在提交任务时,可以通过命令行参数 --taskmanager.cpu 和 --taskmanager.memory.process.size 来覆盖配置文件中的默认值。例如: ./bin/flink run -m kubernetes-cluster:8081 --detached --taskmanager.cpu 2 --taskmanager.memory.process.size 2048m examples/streaming/WordCount.jar taskmanager.resources.cpu 和 taskmanager.resources.memory:这两个参数分别用于设置每个 TaskManager 容器的 CPU 和内存资源限制。在提交任务时,可以通过命令行参数 --taskmanager.resources.cpu 和 --taskmanager.resources.memory 来覆盖配置文件中的默认值。例如: ./bin/flink run -m kubernetes-cluster:8081 --detached --taskmanager.resources.cpu 2 --taskmanager.resources.memory 2048m examples/streaming/WordCount.jar 需要注意的是,Kubernetes 中的资源限制和需求参数分别对应容器的 limits 和 requests 字段。因此,Flink on Kubernetes 中的上述参数实际上也是通过设置容器的 limits 和 requests 字段来实现的。
可以使用kubectl的resources选项来设置CPU和内存资源限制。
--resources=limits.cpu=1,limits.memory=1Gi,requests.cpu=0.5,requests.memory=512Mi
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。