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

soc*_*pet 5 kubernetes skaffold

基本上,我需要在 API 部署之前启动数据库部署。如果数据库未运行,则会在 API 中引发错误。

我弄乱了以下内容的顺序artifacts:

deploy:
  kubectl:
    manifests:
      - manifests/ingress.yaml 
      - manifests/postgres.yaml      
      - manifests/client.yaml
      - manifests/api.yaml
Run Code Online (Sandbox Code Playgroud)

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

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

所以两个问题:

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

soc*_*pet 3

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

          livenessProbe:
            tcpSocket:
              port: 5000
            initialDelaySeconds: 2
            periodSeconds: 2
          readinessProbe:
            tcpSocket:
              port: 5000
            initialDelaySeconds: 2
            periodSeconds: 2
Run Code Online (Sandbox Code Playgroud)

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