当前位置: 首页 > 知识库问答 >
问题:

kubernetes豆荚的优雅终止

倪阳飇
2023-03-14

我们有一个应用程序,其中包含 4 个 pod,并使用负载均衡器运行!我们想尝试滚动更新,但我们不确定当 Pod 出现故障时会发生什么!文档不清楚!特别是《豆荚的终止》中的这句话:

Pod将从服务的endpoint列表中删除,并且不再被视为复制控制器的运行Pod集的一部分。缓慢关闭的Pod可以继续为流量提供服务,因为负载平衡器(如服务代理)将它们从轮换中删除。

因此,如果有人能在以下问题上指导我们:

1.)当吊舱关闭时,它还能满足新的请求吗?或者负载平衡器不考虑它?

2.) 它是否完成了正在处理的请求,直到宽限期用尽?然后杀死容器,即使任何进程仍在运行?

3.)此外,这里提到了复制控制器,我们有一个部署,部署有副本集,所以会有什么区别吗?

我们讨论了这个问题,但是没有任何来源的答案是相互矛盾的:Kubernetes滚动更新会优雅地从服务负载均衡器中删除pods吗

共有1个答案

欧镜
2023-03-14

1) 当 Pod 关闭时,它的状态会更改为正在终止,负载均衡器不会考虑它 - 如 Pod 终止文档中所述

2)是的-您可能需要查看pod. Spec. TerminationGrace周期秒配置以获得一些控制权。您可以在API留档中找到详细信息

3) 否-ReplicaSet和Deployment负责调度Pod,Pod的关闭行为没有区别

 类似资料:
  • PostgreService.yaml 已创建服务的终结点为 然后我在pod(kubectl exec-it mark-dummy-pod bash)内运行ping172.31.6.149,但不工作。(ping localhost正在工作)

  • 我试图删除一个带有12个pod的,我可以看到一些pod被困在状态。 我的Kubernetes集群由一个控制平面节点和三个安装在Ubuntu虚拟机上的工作节点组成。 这个问题的原因可能是什么?

  • 我希望我的pod在一段时间后(例如每周或每月)从我的部署中优雅地回收。如果我知道库伯内特斯命令,我知道我可以为此添加一个cron作业。 问题是在库伯内特斯做这件事的最好方法是什么,哪个命令会让我实现这个目标? 非常感谢你在这件事上帮助我。

  • 我在一个有3个节点的kubernetes集群上运行nginx。 我想知道是否有任何好处,例如,有4个豆荚和限制他们的CPU/MEM约。节点容量的1/4相对于每个节点运行一个pod,限制CPU/MEM,以便pod可以使用整个节点的资源(为了简单起见,我们将cubernet服务排除在等式之外)。 我的感觉是,豆荚越少,开销就越小,每个节点使用1个豆荚应该是性能最好的? 提前致谢

  • 环境*Kubernetes 1.9.3*使用在AWS(专用网络拓扑)上运行的kops(V1.8)创建的集群*网络:weave-net*集群:1主,3节点 事件实例时间线 > 我们已经使用kops执行了滚动集群更新,以使用我们构建的新AMI(基于kops AMI k8s-1.8-debian-jessie-amd64-hvm-ebs-2017-11-27)启动节点和主机。调整kops AMI从来都不

  • 我想通过API从kubernetes集群读取信息:我使用fabric8 java客户机。 我想知道服务选择了哪些豆荚,但除了名称之外,我找不到对象中的任何链接信息,名称不是唯一的。 另一个方向就足够了(service->pods)或(pod<-service)。 如果有人能帮助我使用Kubectl/YAML,我可能会自己找到一种方法来使用API。