Flink Kubernetes Operator ok K8s - 作业完成后如何结束 pod?

问题描述 投票:0回答:1
  1. Flink Kubernetes Operator 根据快速入门指南安装:“https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main/docs/try-flink-kubernetes-operator/quick-start/”
  2. 作业通过命令“kubectl create -f job.yaml”执行
  3. 基本示例如下:https://raw.githubusercontent.com/apache/flink-kubernetes-operator/release-1.8/examples/basic.yaml+一些附加定制,例如:
flinkConfiguration:
  execution.shutdown-on-application-finish: "true"
  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  
  1. 工作完成后,jobmanager 继续运行,但根据我的理解,一切都应该完成并清除。如何实现?
添加了

execution.shutdown-on-application-finish: "true"
,但作业完成后,我可以登录到 Flink 仪表板,在 JobManager -> 配置下,我可以看到execution.shutdown-on-application-finish 设置为 false。 我需要添加什么参数才能在不使用“kubectl delete -f job.yaml”的情况下自动删除部署?

apache-flink flink-kubernetes-operator
1个回答
0
投票

如果您的作业已完成并且您希望清理其相关的 pod,您可以将作业状态 (spec.job.state) 设置为“挂起”:

spec:
  ...
  job:
    ...
    state: suspended

Finished 是一个终端作业状态,因此该作业仍会出现在 Kubernetes 中。我不知道作业完成后会自动删除 FlinkDeployment 的具体配置。您可能必须考虑实施一个 cron 作业来监视部署并在部署达到“完成”状态后将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.