[英]How to wait until another pod starts running using init containers?
initContainers:
- name: init-myservice
image: busybox:1.28
command: ['sh', '-c', "until nslookup myservice; do echo waiting for myservice; sleep 2; done"]
我正在使用 nslookup 等到另一个服务出现。 但是,这并不能解决我的问题。 由于服务将出现,但相应的应用程序 - pod 可能尚未准备好。 在这种情况下,服务依赖将不会被处理。
如何确保一个 app1 在启动 app2 之前正在运行?
过去我在使用 docker-compose 时遇到过类似的问题。 我用来解决它们的方法有两种。 他们都假设服务将公开一个端口来监听。
command
将是这样的: initContainers: - name: init-myservice image: busybox:1.28 command: ['sh', '-c', "until timeout 2 bash -c \"</dev/tcp/myservice/${MY_SERVICE_TCP_PORT}\"; do echo waiting for myservice; sleep 2; done"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.