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

kubernetes - 如何通过查询 DNS srv 记录获取 kubernetes pod 的 IP 地址?

我正在尝试创建一个 kubernetes 作业,我将在其中运行“dig srv”查询,以找出在同一集群上运行的任何特定服务的所有 pod 的 IP 地址。

这是可以实现的吗?

我想详细说明问题陈述。集群上已经运行了一些服务。要求是有一个可以接受服务名称并列出属于该服务的所有 pod 的 IP 地址的工具。

我可以通过使用 kubectl 命令以及选择器和 jq 工具来做到这一点。但是由于某些原因,我不允许在这个环境中运行 kubectl 命令。

我想使用dig srv查询来解析提供的服务名称的 pod IP。

0 投票
1 回答
141 浏览

kubernetes-helm - 如果未找到 PVC Claim,如何退出 helm hook?

我有一个升级后的 helm hook 作业,它挂载 2 个 PV 声明并将数据从一个 PVC 复制到另一个。但是,在某些情况下,可能不存在特定的 PVC。当我运行这个钩子时,作业被生成,但处于“待处理”状态,即使发现 PVC 丢失。有什么方法可以将这项工作标记为失败并继续前进?

describe 命令表明

我想做以下两件事之一:1.动态检测 PVC 不存在 2.退出作业,使其具有相同的含义..

0 投票
2 回答
358 浏览

kubernetes - 无法使用邮递员在 kubernetes 中修补工作

使用 postman 使用 post 方法在 kubernetes 中创建了一个作业,现在尝试使用 postman 使用 patch 方法修补相同的作业,我收到 400 个错误请求。

帖子标题:内容类型应用程序/yaml

发布方法主体:

补丁标头:内容类型应用程序/策略合并补丁+json

标题中的内容类型

补丁请求正文:

更改正文请检查链接。 补丁请求的正文

我所做的修改是将 backofflimit 更改为 5。我能够发布和修补其他资源,例如服务和部署,但我一直在修补工作,我对其他人也遵循完全相同的步骤。

错误我收到错误

0 投票
1 回答
3043 浏览

kubernetes - 如何修复:K8 作业已停止并且不再计划

我不得不通过杀死 pod 来停止 k8 中的作业,现在该作业不再安排。

错误 :

警告 FailedNeedsStart 5m34s (x7883 over 29h) cronjob-controller 无法确定是否需要启动作业:错过的开始时间太多 (> 100)。设置或减少 .spec.startingDeadlineSeconds 或检查时钟偏差。

0 投票
1 回答
254 浏览

kubernetes - 如何正确更新作业状态

据我所知,当大多数人想知道一个KubernetesSpark甚至)Job是否完成时,他们会在某处启动某种循环,以定期检查是否Job完成了相应的API.

现在,我正在使用( ) 运算符(在下面)Kubernetes在后台执行此操作:disown&bashPython

所以......我实际上有两个(相关的)问题:

  1. shell除了操作员之外,还有没有更好的方法在后台执行此&操作?
  2. 我认为最好的选项实际上是cURL从内部使用Job来更新Local Server APIKubernetes.
    • 但是,我不知道如何cURLJob. 是否可以?
    • 我想您将不得不在某个地方公开端口,但是在哪里?它真的支持吗?你能创建一个Kubernetes Service来管理端口和连接吗?
0 投票
1 回答
539 浏览

docker - 通过swagger运行容器部署执行后如何更新作业的kubernetes作业状态?

deployment.yaml我已经通过使用 minikube的文件部署了我的前端应用程序swagger-ui。该应用程序只接受 json 查询并在 minikube 上启动作业,该作业运行和终止相关容器。目前我已经在我的 minikube 集群上构建了 1 个 docker 镜像,该集群在作业开始后开始下载卫星图像。现在,每当我将 json 查询传递给 swagger-ui 时,它都会给我以下响应,其中作业状态为PENDING

工作观察者

在 minikuber 方面,作业会在一段时间后开始和终止,但在 swagger 方面,作业的状态永远不会改变。但是,当我尝试运行GET查询以列出所有作业时,我会看到已完成的作业。我的问题是我如何在工作完成后更新状态或通知用户?.

0 投票
1 回答
250 浏览

kubernetes - 在 Pod 初始化后在作业中使用 initcontainers 做一些事情

我目前正在尝试在我刚刚加入的项目中在 Kubernetes 中创建工作。

该作业应该等到另外 2 个 pod 启动并运行,然后运行​​.sh脚本为应用程序中的测试人员创建一些数据。

我发现我应该使用initContainers。但是,有一点我不明白。

为什么我应该在作业描述.yaml文件的initContainers下的env标签下包含一些环境值?

我以为我只是在等待 Pod 被初始化,而不是再次创建它们。我错过了什么吗?

提前致谢。

0 投票
0 回答
28 浏览

kubernetes - 关于分解由托管在 kubernetes 中的作业和服务组成的 IOT 应用程序的建议,以实现水平扩展

我有一个 IOT 应用程序,它的架构如下:-

有些工厂有自己的成套设备。

现在整个管道部署在 Kubernetes 中,由以下单元组成:-

  1. 每 x 秒唤醒一次的作业,从所有工厂读取数据,将数据推送到 mqtt 代理。
  2. 一个 MQTT 代理。
  3. 一种订阅服务,它接收来自所有工厂的数据并将其推送到时间序列数据库。
  4. 作业以 5 分钟、15 分钟、1 小时、4 小时、1 天的间隔运行,并对所有项目的数据进行下采样,并将其推送到单独的下采样表中。
  5. 每天运行的作业以检查数据中是否存在漏洞/间隙,并在可能的情况下尝试填充它。

现在这适用于少数植物,但是当植物数量增加时,使用单个服务/作业执行数据检索、推送、下采样变得困难,因为它变得过多的内存密集型并且在多个地方阻塞。作为一种临时修复扩展,它在一定程度上垂直解决了这个问题,但在这种情况下,我需要将所有 pod 放在一台机器中,我正在垂直扩展并且垂直扩展多个节点非常昂贵。因此,我计划以某种方式分解系统,以便我可以水平扩展,并且我正在寻找实现这一目标的可能方法的建议。

0 投票
3 回答
1773 浏览

kubernetes - Kubernetes - 在 pod 状态就绪后运行作业

我基本上是在寻找类似于初始化容器的机制,但需要注意的是,我希望它在 pod 准备好后运行(例如响应 readinessProbe)。是否有任何钩子可以应用于 readinessProbe,以便它可以在第一次成功探测后触发作业?

提前致谢

0 投票
1 回答
1101 浏览

python-3.x - 用于为 Database Conatiner 创建数据库脚本的 Kubernetes helm

我正在开发用于部署 Python 应用程序的 Kubernetes helm。在 python 应用程序中,我有一个必须连接的数据库。

我想运行将创建数据库、创建用户、创建表或任何更改数据库列和任何 sql 脚本的数据库脚本。我在想这可以作为 initContainer 运行,但不推荐这样做,因为即使没有要运行的 db 脚本,它也会每次都运行。

以下是我正在寻找的解决方案:创建 Kubernetes 作业以运行将连接到 postgres db 并从文件中运行脚本的脚本。在 Kunernetes Job 中有没有办法连接到 Postgres 服务并运行 sql 脚本?

请建议任何在 kubernetes 中运行 sql 脚本的好方法,我们也可以使用 pod 进行监控。