首页 > 解决方案 > 缩小 kubernetes 作业,但在完成之前不要删除 pod

问题描述

是否可以按比例缩小 kubernetes 作业并行度值,但保留任何正在运行的作业,直到它们运行完成。

我有一个特定的场景,我在容器中运行 vsts 构建代理,并且需要以始终有一个代理可用的方式设计解决方案。扩展很容易,因为这可以在每次构建开始时完成,但是因为我需要在 pod 完成之前清理代理,所以我不能在构建结束时以相同的方式缩小。如果有一种方法可以设置目标并行度,但在完成之前不删除任何 pod,这将是完美的,但任何其他对我来说实现这一点的方法或关于在哪里查看的指针都会很棒。

标签: kubernetesazure-devopsazure-pipelinesazure-pipelines-release-pipeline

解决方案


我猜你的目标不是在 Kubernetes 框架外完成,因为在Parallel Jobs实施中,完成后有一个 Pod 是可行的。通常要指定作业场景,我们使用类似.spec.completionsor的条件,.spec.parallelism但它们仅跟踪 Pod 的完成和并行执行。

查看这篇文章GitHub 项目,了解如何在 Kubernetes 集群上部署VSTS代理。Helm


推荐阅读