Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker pod是否可以在服务中删除之前被杀死?_Docker_Kubernetes - Fatal编程技术网

Docker pod是否可以在服务中删除之前被杀死?

Docker pod是否可以在服务中删除之前被杀死?,docker,kubernetes,Docker,Kubernetes,当删除pod时,kubernetes首先通过apiserver在etcd中删除它,然后控制器和kubelet根据etcd中存储的对象的变化做一些事情,对吗? 所以问题来了,在etcd中删除pod后,端点控制器和kubelet都应该做出反应,但哪一个将首先完成?如果pod实际上已经被节点上的kubelet杀死,而端点没有杀死,那么对服务的一些访问将丢失。是这样吗? 谢谢 我认为你是对的。有可能在更新端点之前删除Pod。一旦设置了pod的deletionTimeStamp(),kubelet将通知容

当删除pod时,kubernetes首先通过apiserver在etcd中删除它,然后控制器和kubelet根据etcd中存储的对象的变化做一些事情,对吗? 所以问题来了,在etcd中删除pod后,端点控制器和kubelet都应该做出反应,但哪一个将首先完成?如果pod实际上已经被节点上的kubelet杀死,而端点没有杀死,那么对服务的一些访问将丢失。是这样吗? 谢谢

我认为你是对的。有可能在更新端点之前删除Pod。一旦设置了pod的deletionTimeStamp(),kubelet将通知容器停止,端点控制器将开始更新相关端点。谁先完成是随机的

[更新]

当删除pod时,kubernetes首先通过apiserver在etcd中删除它,然后控制器和kubelet根据存储在etcd中的对象的变化做一些事情,对吗

如果指定了宽限期(默认为30秒),pod将首先从端点列表中删除,并在宽限期到期后从api服务器中删除

如果pod实际上已经被节点上的kubelet杀死,而端点没有杀死,那么对服务的一些访问将丢失。是这样吗

文档中的这一部分对于本主题特别有用:

因为正在删除的Pod中的进程被发送术语信号,所以它们有机会完成正在进行的请求的服务,因此如果您使用宽限期(默认为30秒)删除Pod,并且如果进程正确处理术语信号,则挂起的请求不会丢失