Native Kubernetes和Kubernetes部署的主要区别是什么?
我是Kubernetes的新手,他试图了解Flink部署在它们之间有何不同。 如果对内部结构有任何了解,将大有帮助。
答案 0 :(得分:4)
在Kubernetes session or per-job deployment中,Flink不知道它正在Kubernetes上运行。在这种模式下,Flink的行为与任何独立部署(没有可用的集群框架进行资源管理)相同。 Kubernetes恰好是基础架构的创建方式,但是就Flink而言,它可能只是裸机。您将必须安排kubernetes创建将配置Flink期望的基础结构。
在Native Kubernetes session deployment中,Flink使用其KubernetesResourceManager
,后者将其所需集群的描述提交给创建它的Kubernetes ApiServer。随着工作的来去去去,以及对任务管理器(和插槽)的要求上升和下降,Flink能够适当地从kubernetes获取和释放资源。
在Application Mode(blog post)(details)中,您最终以Flink作为kubernetes应用程序运行,该应用程序将根据作业的需要自动创建和销毁集群组件。在一个Flink应用程序中。