Flink On K8s 架构
image.png
Flink 任务在 Kubernetes 上运行的步骤有:
●首先往 Kubernetes 集群提交了资源描述文件后,会启动 Master 和 Worker 的 container。
●Master Container 中会启动 Flink Master Process,包含 Flink-Container ResourceManager、JobManager 和 Program Runner。
●Worker Container 会 启 动 TaskManager, 并 向 负 责 资 源 管 理 的 ResourceManager 进行注册,注册完成之后,由 JobManager 将具体的任务分给 Container,再由 Container 去执行。
●需要说明的是,在 Flink 里的 Master 和 Worker 都是一个镜像,只是脚本的命令不一样,通过参数来选择启动 master 还是启动 Worker
JobManager 的执行过程分为两步 :
●首先,JobManager 通过 Deployment 进行描述,保证 1 个副本的 Conainer 运行 JobManager,可以定义一个标签,例如 flink-jobmanager。
●其次,还需要定义一个 JobM