gpt4 book ai didi

kubernetes - 为什么用exitCode 0完成后busybox pod继续重启

转载 作者:行者123 更新时间:2023-12-02 12:15:11 25 4
gpt4 key购买 nike

使用以下命令创建了一个容器

 kubectl run bb --image=busybox --generator=run-pod/v1 --command -- sh -c "echo hi"

Pod反复创建
bb    1/1   Running             1     7s
bb 0/1 Completed 1 8s
bb 0/1 CrashLoopBackOff 1 9s
bb 0/1 Completed 2 22s
bb 0/1 CrashLoopBackOff 2 23s
bb 0/1 Completed 3 53s

退出代码为0
k describe pod bb

...

State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Completed
Exit Code: 0
Started: Thu, 29 Aug 2019 22:58:36 +0000
Finished: Thu, 29 Aug 2019 22:58:36 +0000
Ready: False
Restart Count: 7


谢谢

最佳答案

kubectl run默认将"restart policy"设置为“始终”。在这种情况下,它还会设置一个Deployment来管理容器。

--restart='Always': The restart policy for this Pod.  Legal values
[Always, OnFailure, Never]. If set to 'Always' a deployment is created,
if set to 'OnFailure' a job is created, if set to 'Never', a regular pod
is created. For the latter two --replicas must be 1. Default 'Always',
for CronJobs `Never`.

如果将命令更改为:
kubectl run bb \
--image=busybox \
--generator=run-pod/v1 \
--restart=Never \
--command -- sh -c "echo hi"

将设置一个作业,并且不会重新启动Pod。

kubectl run之外

所有 pod specs都将包含一个 restartPolicy,默认为 Always,因此如果您想要其他行为,则必须指定。
spec:
template:
spec:
containers:
- name: something
restartPolicy: Never

如果要运行任务以完成任务,请尝试使用 Job

关于kubernetes - 为什么用exitCode 0完成后busybox pod继续重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57718626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com