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 启动。现在情况正好相反。我唯一改变的是一台新电脑,我改名server到api这使它首字母顺序排列。
所以两个问题:
我所要做的就是在文件部分中设置一个readinessProbe(livenessProbe可选,用于连续寿命检查)。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 是否失败(即无法连接到数据库),如果失败,它会继续尝试重新部署它,直到失败为止。这是我能找到的唯一方法。
| 归档时间: |
|
| 查看次数: |
494 次 |
| 最近记录: |