问题标签 [kubernetes-jobs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
45844 浏览

kubernetes - Pod 无限期地停留在 PodInitializing 状态

我有一个 k8s cronjob,它由一个 init 容器和一个 pod 容器组成。如果 init 容器失败,主容器中的 Pod 永远不会启动,并无限期地停留在“PodInitializing”中。

如果初始化容器失败,我的意图是让工作失败。

卡住的 pod 上的 kubectl 会导致:

0 投票
2 回答
496 浏览

kubernetes - 向作业发送参数

我有一个基本上运行一次性脚本的 docker Image。该脚本需要 3 个参数。我的码头文件是

当我使用它启动 contianer 时,docker run -e URL=someUrl -e USER=someUser -e PASSWORD=somePassword -itd <IMAGE_ID>它工作得非常好。

现在我想将其部署为一项工作。

我的基本工作如下:

但是这个 pod 错误了

看起来它正在将我的 args 作为命令并尝试执行它们。那是对的吗 ?我能做些什么来解决这个问题?

0 投票
3 回答
21187 浏览

kubernetes - kubectl list / 删除所有已完成的作业

我正在寻找一个kubectl命令来列出/删除所有已完成的作业

我试过了:

但我得到:

获得工作时--fieldSelector的可能字段是什么?

有一个更好的方法吗 ?

0 投票
1 回答
113 浏览

kubernetes - 让 kube 作业在等待的 pod 上启动

我正在处理一个场景,我希望能够维持一些 X 数量的 pod 处于等待状态(并由 kube 管理),然后根据用户请求(通过一些外部系统)在其中一个等待的 pod 上启动 kube 作业。所以现在等待的 pod 计数是 X-1,kube 启动另一个 pod 将这个数字带回 X。这样我就可以减少创建 pod、启动容器并准备就绪所需的时间开始实际处理。处理数据可以通过某种消息传递(akka 或 rabbitmq)发送到这些 pod。我认为 ReplicationControllers 是保留空闲 pod 的最佳位置,但是当我创建作业时,我如何指定我希望能够使用正在等待并由 ReplicationController 管理的 pod 之一。

0 投票
2 回答
1051 浏览

kubernetes - 是否有可能,如果总是失败,如何限制 kubernetes 作业以创建最大数量的 pod?

作为我们公司的 QA,我是 Kubernetes 的日常用户,我们使用 Kubernetes 工作来创建性能测试 pod。根据文档,工作的一个优势是

创建一个 Job 对象以可靠地运行一个 Pod 以完成

但是在我们的测试中,如果之前的失败,这个特性会创建无限的 pod,这会占用我们团队共享集群的资源,删除这些 pod 会花费很多时间。看这张图片: 在此处输入图像描述

目前的工作清单是这样的:

在某些情况下,例如错误配置 ip/ports,“可靠地运行一个 Pod 以完成”是不可能的,并且重新创建 Pod 是浪费时间和资源。那么是否有可能,如果总是失败,如何限制 kubernetes 作业以创建最大数量(比如 3 个)的 pod?

0 投票
1 回答
3204 浏览

kubernetes - 如何使用 kubectl 找出 K8s 作业是失败还是成功?

我有一个运行了一段时间的 Kubernetes 作业,我需要检查它是失败还是成功。

我定期检查这个:

这行得通,但我担心 kubernetes 的变化会破坏这一点;比如说,消息更改为“1 成功完成”(愚蠢的文字,但你知道我的意思),现在我的 grep 找不到它要找的东西。

有什么建议么?这是在 bash 脚本中完成的。

0 投票
4 回答
17370 浏览

kubernetes - 使用命令行等待 kubernetes 作业在失败/成功时完成

等待 kubernetes 作业完成的最佳方法是什么?我注意到很多使用建议:

但我认为只有在工作成功的情况下才有效。如果失败,我必须执行以下操作:

有没有办法使用等待来等待这两个条件?如果没有,等待工作成功或失败的最佳方法是什么?

0 投票
2 回答
109 浏览

kubernetes - Kubernetes 作业无法识别环境

我正在使用以下工作模板:

shell 脚本运行一些 ansible 任务,结果如下:

但是,如果我使用以下相同的 iamge 旋转 pod

这会创建一个 POD,我可以登录到该 pod 并运行/root/rotateCreds.sh

在运行作业时,它似乎无法识别 aws cli。我试过调试whoami,分别pwd等于root/,这很好。任何指针缺少什么?我是新来的工作。

为了在作业模板中进一步调试,我添加了10000几秒钟的睡眠,以便我可以登录到容器并查看发生了什么。我注意到登录后我也可以手动运行脚本。aws命令被正确识别。

0 投票
1 回答
221 浏览

kubernetes - 如何防止独立作业(运行至完成)被调度程序/自动缩放器驱逐?

我有一个运行独立作业的 K8s 集群(每个作业都有一个 pod),我希望它们能够运行完成。然而,调度器有时会在不同的节点上重新调度它们。我的工作需要单次运行,并且在不同的节点上重新启动它们对我来说是不可接受的结果。

我正在查看 Pod 中断预算 (PDB),但据我了解,他们的选择器适用于 pod 标签。由于我的每一项工作都是不同的并且有一个单独的标签,我如何使用 PDB 告诉 K8s我所有的 pod 的 maxUnavailable 为 0?

我也用过这个注解

但这并不影响 pod 驱逐对资源压力的影响。

理想情况下,我应该能够告诉 K8s,除非它们是完整的,否则我的任何 Pod 都不应该被驱逐。

0 投票
2 回答
2730 浏览

kubernetes - Kubernetes 作业未完成

按照文档和此处提供的示例: https ://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#running-an-example-job

我跑kubectl apply -f job.yaml

使用 get pod 监控作业pi-fts6q 1/2 Running 0 52s

即使在作业完成并检查日志显示它已完成后,我也总是看到 1/2 Running。

我怎样才能让工作显示完成状态?该作业将永远处于运行状态,显示没有完成。

完成工作的底层 pod 似乎已完成,但实际的作业控制器永远存在。