问题标签 [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 投票
1 回答
430 浏览

kubernetes - 当 kubernetes 预安装作业失败时,有什么方法可以打印自定义错误消息?

我有一个掌舵图,并且仅在预安装挂钩成功时才安装掌舵图。当作业失败时,错误是

错误:预安装失败:作业失败:BackoffLimitExceeded

有什么办法可以打印弹出的自定义消息,这样我就不必进入工作内部来查找 helm chart 安装失败的原因?

0 投票
1 回答
92 浏览

amazon-web-services - 根据 AWS EKS 上的作业数量自动扩展 Kubernetes

我的集群有时会收到“突发”的信息,并一次生成大量 Kubernetes 作业。在其他时候,我有大约 0 个在职工作。

我想知道如何让它自动缩放节点数量,以便能够在合理的时间范围内连续处理所有这些作业。

我专门使用 AWS EKS,每个作业都需要几分钟才能完成。

0 投票
1 回答
522 浏览

java - 从另一个 Kubernetes 作业触发 Kubernetes

我正在从基本 pod 运行 kubernetes 作业(job-1)。它适用于基本用例。对于第二个用例,我想从已经运行的作业中触发另一个 kubernetes 作业(job-2):job-1。在运行 job-2 时,我收到如下所示的服务帐户错误:

我创建了具有所需权限的服务帐户,如下所示:

我将“my-sa”作为服务帐户名称传递,但它仍然指的是默认服务帐户。

我正在使用fabric8io kubernetes客户端来触发工作,下面是我的代码:

0 投票
1 回答
184 浏览

ubuntu - Kubernetes:如何设置作业 / pod 的最短生命周期?

在我的主节点上,我正在运行Kubernetes v1.16.3,用户会不时向我们的服务器提交一些作业,目前正在运行。但是,在我的情况下,我有很多用户,他们不仅应该对他们的工作有优先级,而且还应该有每个工作/pod的最短生命周期。

最短生命周期应保证作业至少运行 5 小时。如果我们的资源被充分利用并且用户提交了比当前正在运行的作业具有更高优先级的作业,那么只有那些已经超过最小生命周期的正在运行的作业才应该被驱逐。

我无法为此找到解决方案。我只能找到一个最长生命周期解决方案(https://medium.com/@ptagr/give-your-kubernetes-pods-a-lifetime-8c039d622faf),它表示作业/ pod 的生命周期持续时间在规定的时间到期后被驱逐。但这不是我想要的。我想创建一个受保护 5 小时运行的作业/吊舱,并且在指定时间过去后,作业/吊舱应该仍在运行,但是当另一个新作业出现时(例如,最短生命周期为3 小时)旧的正在运行的作业/pod 应被驱逐,新创建的作业/pod 应取而代之并运行至少 3 小时,然后才能成为被另一个作业杀死的候选人。

这甚至可以在 Kubernetes 中实现吗?或者是否有解决方法来实现这一目标?

0 投票
1 回答
6820 浏览

kubernetes - 错误:升级失败:升级前挂钩失败:等待条件超时

我正在测试一个升级前的钩子,它只有一个 bash 脚本,它打印一个字符串并休眠 10 分钟。当我运行 helm upgrade 时,它​​运行了一段时间并以标题中的错误退出。我使用 kubectl 检查作业,它仍在运行。关于如何摆脱错误的任何想法?

谢谢

作业运行的容器中的脚本:

0 投票
1 回答
2101 浏览

kubernetes - 在 kubernetes pod 中运行 bash 脚本

我正在尝试使用以下 yaml 文件运行外部 bash 脚本。

该脚本位于 /scripts/run.sh 文件夹中。我也给了defaultMode: 0777

这是我得到的错误。

0 投票
0 回答
135 浏览

kubernetes - 为 Kubernetes 作业提供文件

我正在尝试创建一个 Kubernetes 作业,该作业将在某些机器上运行。我希望该工作能够以某种方式将文件从这台机器复制到在工作本身内运行的容器中并对其进行处理。首先,这是一个好方法吗?其次,我怎么能这样做?我的 k8s 作业应该从注册表运行一些预构建的图像。我知道我可以自己构建这样的图像并将所需的文件包含在其中但是我想知道我是否可以跳过该步骤?我也读过关于 configMaps 的文章,但是它们是扁平的,我的模板文件夹里面也可以有文件夹。

举个例子:机器 X 有目录 /templates。我运行kubectl apply -f my-job.yaml并且我希望这个工作中的这个容器将具有与位于 /templates 中的相同的文件。

将不胜感激任何提示如何实现这一点。

0 投票
1 回答
163 浏览

kubernetes - 为命名空间启用自定义 kubernetes 调度程序

我有一个 k8 工作,它带来了多个 pod。该作业用于负载测试,因此所有 pod 都需要同时出现。在所有要调度的 pod 的节点都可用之前,不应启动作业。我遇到了 kube-batch https://github.com/kubernetes-sigs/kube-batch来做这个调度。我有几个问题:

1.如何只为集群中的一个命名空间启用kube-batch?

2.按照教程安装 kube-batch。但是 pod 在启动时失败并出现以下错误。如何解决此错误?

0 投票
1 回答
83 浏览

google-kubernetes-engine - gke 作业容器重新启动

在我的项目中,GKE 每天运行许多作业。有时我看到一个作业运行了两次:第一次部分运行,第二次完全运行,尽管定义了“restartPolicy: Never”。它很少发生(大约每 200 - 300 次运行一次)。

这是一个例子:

来自工作的 YAML:

停止容器的原因是“杀死”。我怎样才能避免这种行为?

0 投票
0 回答
36 浏览

jenkins - Re-run a kuberenetes job without deleting the previous job

I have a script within my docker image which checks for the number of available PVs in my kubernetes cluster. If we are short in pv, the script exit 1 and if we are good, then it will return 0. I want to trigger this deployment from Jenkins every 15 min, so when the job gets triggered, it gets the result of kuberentes job deployment. if the status is error then page the team. My problem is that I cannot re-run the Kubernetes job without removing the old job - if this is not possible, what do you guys suggest would be the best to achieve this task? I do not want to use the cronjob cause then I will somehow have to monitor the cornjob and make sure it is always running. thanks