我的应用程序包含 3 个独立的服务。但是有一个命令 1,2,3 这些服务应该启动。如何在开始第二个和第三个服务之前等待第一个服务完全启动并运行?
答案 0 :(得分:2)
正如评论所说,您应该对我们的代码使用超时和重试,而不是硬编码依赖项。
但是,为了满足您的需求,您可以在每个等待其他服务的服务上使用 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