Skaffold 以什么顺序启动部署,有没有办法指定顺序?

In what order does Skaffold start up deployments and is there a way to specify order?

基本上,我需要在 API 部署之前启动数据库部署。如果数据库不是 运行,它会在 API 中抛出错误。

我把 artifacts:

中的顺序弄乱了
deploy:
  kubectl:
    manifests:
      - manifests/ingress.yaml 
      - manifests/postgres.yaml      
      - manifests/client.yaml
      - manifests/api.yaml

但这似乎与它们启动的顺序没有任何关系。

我唯一能想到的就是它是按字母顺序排列的。我以前没有问题:数据库会在 api 之前以 49/50 的速度启动。现在情况正好相反。我唯一改变的是一台新电脑,我将 server 重命名为 api,这使它按字母顺序排在第一位。

所以两个问题:

  1. Skaffold 中的部署顺序是如何确定的?
  2. 有没有办法设置顺序?

我必须做的是在 *.yaml 文件的 containers 部分设置一个 readinessProbelivenessProbe 是可选的,用于连续寿命检查)。

          livenessProbe:
            tcpSocket:
              port: 5000
            initialDelaySeconds: 2
            periodSeconds: 2
          readinessProbe:
            tcpSocket:
              port: 5000
            initialDelaySeconds: 2
            periodSeconds: 2

这会查找 Django 是否失败(即无法连接到数据库),如果失败,它会一直尝试重新部署它,直到失败为止。这是我能找到的唯一方法。