【发布时间】:2020-04-29 23:15:31
【问题描述】:
我正在尝试与服务一起创建部署,然后在部署完成后立即访问该服务:
> kubectl create -f my-deployment.yaml
> kubectl create -f my-service.yaml
> kubectl rollout status deployment/my-deployment --watch --timeout 10m # This usually takes ~30 seconds
deployment "my-deployment" successfully rolled out
> curl "my-service" # This happens inside a pod, so the service DNS name should be available
有时这可行,但似乎存在竞争条件 - 如果curl 命令发生得太快,似乎套接字无法连接并且我得到连接超时。
根据这个问题,如果没有准备好的 pod,这似乎是我会得到的行为:What happens when a service receives a request but has no ready pods?
我预计推出的完成意味着服务可以保证准备就绪。不是这样吗?是否有一些 Kubernetes 命令可以“等待”服务可用? (我注意到服务没有条件,所以你不能做kubectl wait...)
【问题讨论】:
标签: kubernetes kubernetes-service kubernetes-deployment