Kubernetes K8S上的Flink:如何为集群提供Flink配置?
我正在创建一个集群,但不清楚如何为集群提供支持?e、 例如,我想指定Kubernetes K8S上的Flink:如何为集群提供Flink配置?,kubernetes,apache-flink,Kubernetes,Apache Flink,我正在创建一个集群,但不清楚如何为集群提供支持?e、 例如,我想指定jobmanager.heap.size=2048m根据文档,所有配置都必须通过yaml配置文件传递 似乎jobmanager.heap.size是一个可以配置的常见选项 也就是说,在提供此配置文件时,kubernetes上的方法略有不同 谜题的下一部分是弄清楚您试图启动的容器的当前start命令是什么。我假设您使用的是,这很好,因为Dockerfile是开源的(底部链接到repo)。他们正在使用一个复杂的脚本来启动flink容
jobmanager.heap.size=2048m
根据文档,所有配置都必须通过yaml配置文件传递
似乎jobmanager.heap.size
是一个可以配置的常见选项
也就是说,在提供此配置文件时,kubernetes上的方法略有不同
谜题的下一部分是弄清楚您试图启动的容器的当前start命令是什么。我假设您使用的是,这很好,因为Dockerfile是开源的(底部链接到repo)。他们正在使用一个复杂的脚本来启动flink容器,但是如果您仔细阅读该脚本,您将看到它正在从/opt/flink/conf/flink-conf.yaml
读取配置yaml。与其试图改变这一点,只需在pod中的确切路径上装载一个yaml文件,并使用您的配置值,可能会更容易
这是我的建议
下一个问题是yaml文件应该是什么样子?
从他们的文档中:
所有配置都在conf/flink-conf.yaml中完成,这是预期的
是YAML键值对的平面集合,格式为key:value
因此,我设想您将创建flink-conf.yaml
,内容如下:
jobmanager.heap.size: 2048m
然后将其安装在kubernetes吊舱中的/opt/flink/conf/flink-conf.yaml
,它应该可以工作
从kubernetes的角度来看,为yaml文件创建一个配置映射,并将配置映射作为一个文件装载到pod中可能是最有意义的
具体来说,您最感兴趣的是
最后,我将调用它,但我不推荐它,因为flink的所有者目前已经将其标记为孵化特性,他们已经开始提供,我可以看到他们正在将
flink-conf.yaml
作为配置映射传递到(忽略{}中包围的值)
-这是helm模板语法)。他们就在这里。谢谢你全面的回答,我从中学到了很多。