升级集群的前置检查提示需要升级 core-dns 组件或 ingress-nginx 组件,升级此类网络流量类的组件时,不同的组件会出现的流量中断原因不同:
- core-dns
组件中 CoreDNS 实例以 Service 方式提供服务,因此当实例副本数发生变化时,有概率对部分请求产生影响,具体的影响与 Service 提供的方式有关:
- 如果所在集群使用 Flannel 网络模型:一般不会有请求报错情况,但将 IPVS 作为 kube-proxy 的工作模式时,会有小部分请求产生报错,并在 CoreDNS 完全就绪后持续秒级时长。在 QPS 较低的情况下,最长持续时间为 5 分钟,即 IPVS 默认的会话超时时间。
- 如果所在集群使用 VPC-CNI 网络模型:会有小部分请求产生报错,在 CoreDNS 完全就绪后持续秒级时长。
- ingress-nginx
根据组件升级的具体类型,会产生不同的影响:
- 如果升级仅包含配置变更,ingress-nginx 会更新数据面 Nginx 的 worker 进程配置。Nginx 支持配置的热更新,通常情况下不会对业务流量产生影响,极端情况下会引发部分请求 5XX 响应,持续秒级时长。
- 如果升级包含了镜像版本或者规格变更,会引发 ingress-nginx 的实例重建,在实例正常拉起后,引发客户端的 5XX 报错响应,持续秒级时长。