K8S 服务依赖启动顺序
在K8S部署中,有时候容器启动顺序因为我们业务需要是有要求的,比如业务服务可能需要在 配置中心、注册的中心 启动后才启动,那么该如何呢?我们通过 initContainer 来阻塞启动,如下以业务服务需要在apollo配置中心启动后才启动需求为例:initContainers:- command:- sh- -c- until curl -m5 -s apollo-configservice-fa
·
在K8S部署中,有时候容器启动顺序因为我们业务需要是有要求的,比如业务服务可能需要在 配置中心、注册的中心 启动后才启动,那么该如何呢?
我们通过 initContainer 来阻塞启动,如下以业务服务需要在apollo配置中心启动后才启动需求为例:
initContainers:
- command:
- sh
- -c
- until curl -m5 -s apollo-configservice-fat.my-namespace.svc.cluster.local:6166/info; do echo waiting for config; sleep 5; done;
image: harbor.shanhy.com:443/dockerhub_proxy/yauritux/busybox-curl:latest
name: wait-for-config
- apollo-configservice-fat 为我配置中心的 container-name
- my-namespace 为配置中心所在命名空间的名称
- svc.cluster.local 为固定写法
- 6166 为我的配置中心的端口号
- /info 为配置中心启动后可以正常访问的一个URL地址,这个根据你自己实际需求填写,比如
/actuator/metrics
等等- 如果你在互相依赖的服务同一个命名空间,直接使用 apollo-configservice-fat:6166/info 即可,如上写法是同集群不同命名空间之间的写法
(END)
更多推荐
已为社区贡献24条内容
所有评论(0)