等待服务部署到 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