根据Flink的文档,我们可以在Kubernetes之上部署一个独立的Flink集群,使用Flink的独立部署,或者使用本地Kubernetes部署在Kubernetes上部署Flink。
文件上说
我们通常建议新的用户使用本地Kubernetes部署在Kubernetes上部署Flink。
是因为本地Kubernetes更容易开始,还是因为独立模式是一种遗产?
在本机Kubernetes模式中,Flink能够根据所需资源动态分配和取消分配TaskManagers。在独立模式下,任务管理器必须手动配置。
在我看来,本地的Kubernetes模式是一个更好的选择。
发布于 2022-01-06 10:17:29
发布基于其他答案的社区wiki - 大卫·安德森回答和行政长官答覆。可以自由地扩展它。
来自大卫·安德森回答的很好解释
在Kubernetes会话或每个作业部署中,Flink不知道它在Kubernetes上运行。在这种模式下,Flink的行为就像它在任何独立部署中所做的那样(其中没有可用的集群框架来进行资源管理)。库伯内特斯恰好是如何建立基础设施的,但就弗林克而言,它可能是赤裸裸的金属。您将不得不安排kubernetes创建您将配置的Flink期望的基础设施。
KubernetesResourceManager
,它向创建它的Kubernetes ApiServer提交对集群的描述。随着作业的来来去去,以及对任务经理(和插槽)的需求的上升和下降,Flink能够在适当的时候从kubernetes获得和释放资源。本机模式是推荐的因为这很简单,我不认为它是遗留的:
Native
模式是当前对Kubernetes的建议,因为它是最简单的选项,正如您所提到的。在Flink 1.13中(将在未来几周发布),增加了对指定Pod模板的支持。这种方法的缺点之一是它与CI/CD集成的能力有限。
https://stackoverflow.com/questions/70594849
复制相似问题