[英]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.