奇怪的是,当我跑terminating
时,我看到了一个我已经准备好1/1状态和状态kubectl get pods
的吊舱。这些国家不相互排斥吗?为什么或者为什么不?
对于背景,在我杀死skaffold
之后立即注意到这一点,因此这些豆荚正在关闭中间。
当pod处于终止状态时,它们仍然可以正常运行。由于许多原因(例如,可能是您连接了PVC,其他吊舱同时终止等),吊舱可能会在终止时延迟。您可以通过在连接了PVC的pod上运行以下内容或者以延迟终止的其他原因来测试此问题:
$ kubectl delete pod mypod-xxxxx-xxxxxx
pod mypod-xxxxx-xxxxxx deleted
$ kubectl delete pod mypod-xxxxx-xxxxxx
pod mypod-xxxxx-xxxxxx deleted
$ kubectl apply mypod.yaml
pod mypod-xxxxx-xxxxxx configured
有时会发生这种情况,因为pod仍处于终止期并且运行正常,因此它将被视为已配置的现有pod(忽略了您通常无法配置此类pod的事实,但您明白了这一点) 。
就绪列说明有多少容器在运行。
状态终止意味着控制器不再向该容器发送流量。来自kubernetes' docs:
当用户请求删除pod时,系统会在允许pod强制终止之前记录预期的宽限期,并将TERM信号发送到每个容器中的主进程。宽限期到期后,KILL信号将发送到这些进程,然后从API服务器中删除该pod。
这就是状态。容器已经启动,完成处理已经完成的任何工作并发送了TERM信号。