Traefik 对与已删除 Pod 的连接有何作用?

巴格拉特

假设你有一个 k8s 集群,使用 Traefik 作为入口控制器。

将 HTTP API 应用程序部署到集群(具有入口资源),该应用程序能够处理SIGTERM并且在处理完所有活动请求之前不会退出。

假设您使用 10 个副本部署应用程序,为其获取一些流量并将部署缩减为 5 个副本。这 5 个 Pod 将从匹配的Service资源中拉出

对于这 5 个 Pod,应用程序将接收SIGTERM并启动正常关闭。

问题是,Traefik 将如何处理那些与拉出的 5 个 Pod 的活动连接?

  • 它会等到从 5 个 Pod 收到所有响应,然后在此期间和之后不向它们发送任何流量吗?
  • 它会终止与这 5 个 Pod 的持续连接并忘记它们吗?
蒂莫·赖曼

Traefik 将做第一个:它会优雅地让那些待处理的、正在进行的请求完成,但不会将任何进一步的请求转发到终止的 pod。

添加一些技术背景:从 Kubernetes 的角度来看,一旦 Pod 被视为终止,端点控制器(也是 Kubernetes 控制平面的一部分)将从关联的端点对象中删除其 IP 地址。Traefik 监视端点上的更新,接收通知,并相应地更新其转发规则。因此,从技术上讲,它无法转发任何进一步的流量,而这些最终请求将继续得到服务(通过 Go 的 http 包中先前建立的 goroutines)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取kubernetes集群的所有Pod列表(包括已删除)?(AWS EKS)

来自分类Dev

如何获取kubernetes服务名称而不是'traefik'pod的IP

来自分类Dev

Traefik - 无法通过 https 连接

来自分类Dev

Openshift:未删除Pod

来自分类Dev

kubectl删除具有部署名称的pod

来自分类Dev

在k8s上的“ Traefik” Pod中获得运行Shell的Shell

来自分类Dev

HTTP响应连接“保持活动”已删除

来自分类Dev

如何删除kubernetes pod的标签

来自分类Dev

删除Pod后丢失文件

来自分类Dev

如何删除kubernetes pod的标签

来自分类Dev

创建和删除 Pod 的步骤

来自分类Dev

可以traefik侦听来自子网的连接

来自分类Dev

确保Kubernetes部署已完成并且所有Pod已更新且可用

来自分类Dev

已启用 kube-dns 插件但没有可用的 kube-dns pod

来自分类Dev

从 Git 提交中删除已删除的文件不起作用

来自分类Dev

如何重置所有已删除的文件

来自分类Dev

删除已停用的有状态角色

来自分类Dev

egophotoviewer中仍然有已删除的照片

来自分类Dev

具有已删除文件的图像备份

来自分类Dev

带有Traefik的Docker群堆栈中的Portainer拒绝连接

来自分类Dev

删除 Pod 时创建的 Pod 数量超过指定数量

来自分类Dev

具有持久卷的 Traefik HA

来自分类Dev

如何删除已删除的 WPF UserControl 的所有痕迹?

来自分类Dev

有没有办法在状态为“已完成”后通过 YAML 自动删除 Pod?

来自分类Dev

如何删除NodePort Kubernetes-Traefik入口控制器

来自分类Dev

Kubernetes-使用kubenetes API在重启或关闭之前从节点删除所有Pod

来自分类Dev

Kubernetes API Pod拒绝连接

来自分类Dev

Kubernetes MLflow服务Pod连接

来自分类Dev

在 kubernetes 中连接 Flask pod 和 mongodb pod。

Related 相关文章

热门标签

归档