等待服务部署到 K8s
Waiting for a service to be deployed in K8s
我的应用程序包含 3 个独立的服务。但是这些服务应该启动的顺序是 1、2、3。我如何才能等到第一个服务完全启动并 运行 才能开始第二个和第三个服务?
正如评论所说,您应该在我们的代码上使用超时和重试,而不是硬编码依赖项。
但是,为了响应您的需求,您可以在每个等待其他服务的服务上使用一个 initContainer。
initContainers:
- name: wait-for-other-svc
image: ubuntu
args:
- /bin/sh
- -c
- >
set -x;
while [ $(curl -sw '%{http_code}' "service.<namespace>.svc.cluster.local" -o /dev/null) -ne 200 ]; do
sleep 1;
done
我的应用程序包含 3 个独立的服务。但是这些服务应该启动的顺序是 1、2、3。我如何才能等到第一个服务完全启动并 运行 才能开始第二个和第三个服务?
正如评论所说,您应该在我们的代码上使用超时和重试,而不是硬编码依赖项。
但是,为了响应您的需求,您可以在每个等待其他服务的服务上使用一个 initContainer。
initContainers:
- name: wait-for-other-svc
image: ubuntu
args:
- /bin/sh
- -c
- >
set -x;
while [ $(curl -sw '%{http_code}' "service.<namespace>.svc.cluster.local" -o /dev/null) -ne 200 ]; do
sleep 1;
done