我有一个示例k8s作业,只要你执行kubectl apply,作业就会被触发,pod就会被创建。如何控制pod的创建?
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
字符串
3条答案
按热度按时间tktrz96b1#
触发器正在运行kubectl apply。当您创建Job时,它会运行。您可能正在寻找功能更全的后台任务系统,如Airflow或Argo。
llycmphe2#
您可以使用
suspend: true
,然后当您准备好启动作业时,只需将suspend
更新为false
。参考号:https://kubernetes.io/blog/2021/04/12/introducing-suspended-jobs/
xriantvc3#
如果你想手动控制pod的创建,你可以通过并行来实现。
文档说:
请求的并行度(.spec.parallelism)可以设置为任何非负值。如果未指定,则默认为1。如果指定为0,则作业将有效暂停,直到增加该值。
您可以在执行
kubectl apply
时将其设置为0。字符串
您可以在决定运行时将其设置为1。