Ayu*_*jha 1 mongodb openshift docker kubernetes docker-compose
我正在使用REST API创建部署/服务。我发送带有包含JSON对象的正文的POST请求,该JSON对象在Openshift上创建应用程序。在调用所有API之后,这些对象将被实例化。
我有2个依赖于mongodb部署的部署,但是此mongodb需要花费一点时间才能开始运行,而依赖mongodb的两个部署则更早开始运行。由于mongodb连接失败(因为它尚未启动),因此这会破坏2个部署中的代码。
有2种可能的方法可以解决此问题。
在创建mongodb部署后,我延迟了一段时间,然后递归调用API以检查其状态(如果它没有运行)。
就像我们在docker-compose中进行更改一样,使用键depends-on告诉docker-compose首先应启动所有依赖项,然后再启动依赖项容器。
Openshift有什么方法可以实现?
小智 5
无需为依赖项处理实现复杂的逻辑,而应使用Kubernetes的运行状况检查机制。如果您的应用程序启动但看不到Mongo DB,请使其崩溃。在Mongo DB联机之前,Kubernetes将继续重新启动它,并且您的应用程序将正常运行并可以正常运行。Kubernetes不会将流量发送到尚未正常运行的实例。
文件:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
| 归档时间: |
|
| 查看次数: |
614 次 |
| 最近记录: |