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

Flink Kubernetes Operator作业完成后自动终止Pod的方法

解决方案

要实现作业完成后自动删除部署,无需手动执行kubectl delete -f job.yaml,你需要在job.yaml的spec层级添加deleteOnCompletion: true配置项。

另外,你遇到的execution.shutdown-on-application-finish实际为false的问题,是因为该参数被放在了集群级配置里,正确的做法是将其移到作业专属的配置区块中,这样才能对当前作业生效。

修改后的完整配置如下:

apiVersion: flink.apache.org/v1beta1
kind: FlinkJob
metadata:
  name: test-job
spec:
  deleteOnCompletion: true  # 关键参数:作业完成后自动删除所有关联资源
  flinkConfiguration:
    parallelism.default: "1"
    taskmanager.numberOfTaskSlots: "1"
    web.submit.enable: "true"
    restart-strategy: failure-rate
    restart-strategy.failure-rate.max-failures-per-interval: "3"
    restart-strategy.failure-rate.failure-rate-interval: 5 min
    restart-strategy.failure-rate.delay: 15 s
  job:
    jarURI: local:///opt/flink/usrlib/test.jar
    parallelism: 1
    upgradeMode: stateless
    flinkConfiguration:
      execution.shutdown-on-application-finish: "true"  # 移到作业级配置下生效

关键说明

  • deleteOnCompletion: true:这是Flink Kubernetes Operator的原生配置字段,当作业成功结束后,会自动清理对应的FlinkJob CR以及关联的JobManager、TaskManager Pod和服务资源。
  • 作业级配置优先级高于集群级:execution.shutdown-on-application-finish是作业专属的行为配置,必须放在job.flinkConfiguration下才能覆盖集群级的默认值,确保JobManager在作业完成后正常关闭。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 19:47:12