K8S 服务依赖启动顺序

矫情吗;* 2022-12-25 08:54 325阅读 0赞

在K8S部署中,有时候容器启动顺序因为我们业务需要是有要求的,比如业务服务可能需要在 配置中心、注册的中心 启动后才启动,那么该如何呢?

我们通过 initContainer 来阻塞启动,如下以业务服务需要在apollo配置中心启动后才启动需求为例:

  1. initContainers:
  2. - command:
  3. - sh
  4. - -c
  5. - until curl -m5 -s apollo-configservice-fat.my-namespace.svc.cluster.local:6166/info; do echo waiting for config; sleep 5; done;
  6. image: harbor.shanhy.com:443/dockerhub_proxy/yauritux/busybox-curl:latest
  7. 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)

发表评论

表情:
评论列表 (有 0 条评论,325人围观)

还没有评论,来说两句吧...

相关阅读

    相关 K8S 服务依赖启动顺序

    在K8S部署中,有时候容器启动顺序因为我们业务需要是有要求的,比如业务服务可能需要在 配置中心、注册的中心 启动后才启动,那么该如何呢? 我们通过 initContainer