咨询个技术问题,我部署了一组pod,副本数为3,在更新容器镜像的之后,需要触发一条shell命令,如果写在启动后执行命令里面,会3个副本都执行,但只需执行一次,这样的话要如何做呢,有没有哪位大神给个思路-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

咨询个技术问题,我部署了一组pod,副本数为3,在更新容器镜像的之后,需要触发一条shell命令,如果写在启动后执行命令里面,会3个副本都执行,但只需执行一次,这样的话要如何做呢,有没有哪位大神给个思路

k8s小能手 2019-05-23 17:43:43 1622

咨询个技术问题,我部署了一组pod,副本数为3,在更新容器镜像的之后,需要触发一条shell命令,如果写在启动后执行命令里面,会3个副本都执行,但只需执行一次,这样的话要如何做呢,有没有哪位大神给个思路

Shell Perl 容器
分享到
取消 提交回答
全部回答(2)
  • 禅鸣
    2020-03-12 11:19:25

    可用configmap里面的数据做个标志位,相当于一把锁,这样谁拿到锁,谁就更新。

    0 0
  • 赵文宇
    2019-07-17 23:35:58

    阿里云的kubernetes方案基于开源的k8s,那该方案也是试用阿里云k8s的

    https://help.aliyun.com/document_detail/86420.html?source=5176.11533457&userCode=anf0cabp&type=copy

    可以部署成statefulset模式,在启动时通过envFrom获取sts的pod名称,比如 nginx-0 。那么在启动命令的时候就可以添加判断 if [$PODNAME = 'ningx-0'];then 执行你的shell + 启动命令;else 只执行启动命令 ;fi

    0 0
添加回答
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程