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
,这使它按字母顺序排在第一位。
所以两个问题:
- Skaffold 中的部署顺序是如何确定的?
- 有没有办法设置顺序?
我必须做的是在 *.yaml
文件的 containers
部分设置一个 readinessProbe
(livenessProbe
是可选的,用于连续寿命检查)。
livenessProbe:
tcpSocket:
port: 5000
initialDelaySeconds: 2
periodSeconds: 2
readinessProbe:
tcpSocket:
port: 5000
initialDelaySeconds: 2
periodSeconds: 2
这会查找 Django 是否失败(即无法连接到数据库),如果失败,它会一直尝试重新部署它,直到失败为止。这是我能找到的唯一方法。
基本上,我需要在 API 部署之前启动数据库部署。如果数据库不是 运行,它会在 API 中抛出错误。
我把 artifacts:
和
deploy:
kubectl:
manifests:
- manifests/ingress.yaml
- manifests/postgres.yaml
- manifests/client.yaml
- manifests/api.yaml
但这似乎与它们启动的顺序没有任何关系。
我唯一能想到的就是它是按字母顺序排列的。我以前没有问题:数据库会在 api 之前以 49/50 的速度启动。现在情况正好相反。我唯一改变的是一台新电脑,我将 server
重命名为 api
,这使它按字母顺序排在第一位。
所以两个问题:
- Skaffold 中的部署顺序是如何确定的?
- 有没有办法设置顺序?
我必须做的是在 *.yaml
文件的 containers
部分设置一个 readinessProbe
(livenessProbe
是可选的,用于连续寿命检查)。
livenessProbe:
tcpSocket:
port: 5000
initialDelaySeconds: 2
periodSeconds: 2
readinessProbe:
tcpSocket:
port: 5000
initialDelaySeconds: 2
periodSeconds: 2
这会查找 Django 是否失败(即无法连接到数据库),如果失败,它会一直尝试重新部署它,直到失败为止。这是我能找到的唯一方法。