Kubernetes 如何在k8s中手动触发kubernates作业(而不是cron)
我有一个样本k8s作业,只要您执行kubectl应用,就会触发作业并创建POD。如何控制豆荚的产生Kubernetes 如何在k8s中手动触发kubernates作业(而不是cron),kubernetes,kubernetes-jobs,Kubernetes,Kubernetes Jobs,我有一个样本k8s作业,只要您执行kubectl应用,就会触发作业并创建POD。如何控制豆荚的产生 apiVersion: batch/v1 kind: Job metadata: name: pi-with-timeout spec: backoffLimit: 5 activeDeadlineSeconds: 100 template: spec: containers: - name: pi image: perl
apiVersion: batch/v1
kind: Job
metadata:
name: pi-with-timeout
spec:
backoffLimit: 5
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
触发器正在运行kubectl apply。创建作业时,它将运行。您可能正在寻找一个功能更全面的后台任务系统,如Airflow或Argo。如果您想手动控制pod的创建,可以通过并行实现 文件说: 请求的并行度(.spec.parallelism)可以设置为任何非负值。如果未指定,则默认为1。如果将其指定为0,则作业将有效暂停,直到增加 在执行
kubectl应用时,可以将其设置为0。配置如下所示
apiVersion: batch/v1
kind: Job
metadata:
name: pi-with-timeout
spec:
backoffLimit: 5
parallelism: 0
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
您可以在决定运行时将其设置为1。请您澄清“如何控制pod创建?”的含义,具体控制什么?你想运行它吗?创建一个新的吊舱?还有别的事吗?抱歉搞混了。我只想使用手动触发器运行它。对于使用web GUI的手动触发器,Rundeck似乎是一个不错的选择。谢谢。我想我们可以通过kubectl修补作业pi来修补一个作业,它的超时--type='json'-p='[{“op”:“replace”,“path”:“/spec/parallelism”,“value”:1}]'