当服务收到请求但没有可用的Pod时会发生什么?

时间:2019-02-07 08:34:17

标签: kubernetes kubernetes-health-check kubernetes-service

具有连接到一组service的kubernetes ClusterIP(类型为pod),但它们目前都没有准备好-请求将如何处理? 会吗:

  • 渴望失败
  • 超时
  • 等待直到准备就绪的Pod可用(或永久使用,以较早者为准)
  • 还有别的吗?

2 个答案:

答案 0 :(得分:2)

它将超时。

Kube-proxy从健康容器中提取IP地址并将其设置为服务的端点(后端)。另外,请注意,所有kube-proxy所做的都是在创建,删除或修改服务时重写iptables。

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

答案 1 :(得分:0)

已部署的nginx服务

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

$ curl 10.100.1.134

curl:(7)无法连接到10.100.1.134:80;连接被拒绝

已部署的nginx部署

$ kubectl create -f nginx-depl.yaml

$ kubectl得到po
名称就绪状态可以重新启动年龄
my-nginx-f9945ffdd-2f77f 1/1跑步0 1m
my-nginx-f9945ffdd-rk68v 1/1跑步0 1m

$ curl 10.100.1.134

欢迎使用nginx!

很可能会收到“连接被拒绝”错误