当服务收到请求但没有就绪 pods 时会发生什么?

What happens when a service receives a request but has no ready pods?

将 kubernetes serviceClusterIP 类型)连接到一组 pod,但其中 none 当前已准备就绪 - 会发生什么请求? 会不会:

会超时

Kube-proxy 从健康的 pods 中提取 IP 地址并设置为服务的端点(后端)。另外,请注意,kube-proxy 所做的只是在您创建、删除或修改服务时重新编写 iptables。

因此,当您在网络中发送请求但没有人回复时,您的请求将会超时。

已部署nginx服务

[node1 ~]$ kubectl 获取 svc
名称类型群集 IP 外部 IP 端口年龄
kubernetes ClusterIP 10.96.0.1 443/TCP 2h
my-nginx ClusterIP 10.100.1.134 80/TCP 9s

$ 卷曲 10.100.1.134

curl: (7) 连接到 10.100.1.134:80 失败;连接被拒绝

部署nginx部署

$ kubectl create -f nginx-depl.yaml

$ kubectl 获取 po
姓名 READY STATUS RESTARTS AGE
my-nginx-f9945ffdd-2f77f 1/1 运行 0 1m
my-nginx-f9945ffdd-rk68v 1/1 运行 0 1m

$ 卷曲 10.100.1.134

欢迎使用 nginx!

您很可能会收到连接被拒绝的错误