Spark Kubernetes 的源码分析系列 - submit
1 Overview
Kubernetes 是作为新的 resouceManager 集成到 Spark 中的,集成的思路跟将 YARN 集成是类似的,Spark 本身提供 Standalone 这种资源管理的模式,当然是不够的。
而集成 Kubernetes 的方式,其实是很好理解的,也就是在 Spark 中起一个 Http 的客户端从而和 Kubernetes 的 ApiSever 进行通信,从而把与 Appication 相关的一些配置,例如如何创建 Driver 和 Executor 的 Pod,当然也包括对 Pod 的 Watch 相关。
2 源码分析
Spark Kubernetes 的模块的代码其实并不多,建议大家到以下目录下利用 tree
简单看一下。
# 路径
path/to/spark/resource-managers/kubernetes/core/src/main/scala/org/apache/spark
➜ spark git:(master) ✗ tree -d -L 3
.
├── deploy
│ └── k8s
│ ├── features // 包括 Driver/Executor, configMap, secret 等配置的步骤
│ └── submit // 跟 submit 有关
└── scheduler
└── cluster
└── k8s // 跟 executor pod 的调度,状态等有关
相关文章