当我向Kubernetes提交Spark作业时,容器中的所有内容都作为root运行。是否可以以其他用户身份运行作业?
当我以客户端模式提交作业时,驱动程序以提交作业的用户身份运行,而执行者以root用户身份运行,这可能会导致在访问由执行者创建的文件时导致文件访问问题。
[除非K8s上的Spark支持K8s Pod的完全自定义(特别是runAsUser功能),否则控制它的唯一方法(如我目前所见)是:-构建在Dockerfile中指定USER的Docker映像-使用一些高级的K8s工具/控制器,例如Argo Events-自定义spark-submit
或通过K8s API作为Kubernetes Pod直接提交Spark Pod]
希望很快看到Spark v3.0.0会带来一些改进。