You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark 3.0.3基于Kubernetes运行任务后Completed状态Driver Pod清理问题

Spark on Kubernetes Driver Pod 完成后自动清理方案
  • 提交任务时添加自动删除配置
    Spark 3.0 及以上版本原生支持 Driver 进程终止后自动删除对应 Pod,提交任务时添加如下参数即可生效:
    --conf spark.kubernetes.driver.deleteOnTermination=true
    完整 spark-submit 示例参考:

    ./bin/spark-submit \
      --master k8s://https://<Kubernetes APIServer 地址>:6443 \
      --deploy-mode cluster \
      --name spark-test-task \
      --class org.apache.spark.examples.SparkPi \
      --conf spark.executor.instances=2 \
      --conf spark.kubernetes.container.image=spark:3.0.3 \
      --conf spark.kubernetes.driver.deleteOnTermination=true \
      local:///opt/spark/examples/jars/spark-examples_2.12-3.0.3.jar
    

    注意:该配置仅对 cluster 提交模式生效,client 模式下 Driver 运行在提交任务的本地节点,不会在 Kubernetes 集群内生成独立的 Driver Pod。

  • 确认 Service Account 权限配置
    如果添加上述参数后 Driver Pod 仍未自动删除,需要检查 Spark 任务使用的 Kubernetes Service Account 是否具备 Pod 删除权限,对应 Role 规则需要至少包含以下权限:

    - apiGroups: [""]
      resources: ["pods"]
      verbs: ["get", "list", "watch", "create", "delete"]
    
  • 可选:配置 TTL 兜底删除规则
    若需要额外的兜底清理机制,可以通过注解配置 Kubernetes 原生 TTL 控制器,指定 Driver Pod 进入 Completed 状态后的保留时长,到期自动删除:
    --conf spark.kubernetes.driver.annotation.kubernetes.io/ttl=300
    上述配置表示 Pod 完成后保留 5 分钟后自动清理,时长可根据业务需求调整。

内容的提问来源于stack exchange,提问作者Mandar Ghodke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:45:03