k8s更新Pod镜像

 

实际使用k8s中,如果使用RC启动pod可以直接使用滚动更新进行pod版本的升级,但是我们使用的情况是在pod里面启动有状态的mysql服务,没有和RC进行关联,这样更新的时候只能通过

更新pod的配置直接替换的形式进行更新了,以下脚本是我们进行更新的简单脚本;

 

#!/bin/bash

#命名空间
ns=$1

#pod名称
podname=$2

#获取pod yaml配置
/root/k8s.sh th --namespace=$ns get pods $podname -o yaml >  "/tmp/$podname.yaml"

#由于我的脚本有些特殊,需要删除第一行,如果没有就直接删除
sed -i '1d' "/tmp/$podname.yaml"

#替换配置中的镜像地址
sed -i 's/vitess:.*/vitess:mysql57_20171102_1030_master/g' "/tmp/$podname.yaml"

#替换修改后的脚本
/root/k8s.sh th --namespace=$ns replace -f "/tmp/$podname.yaml"

 

posted @ 2017-11-03 11:24  davygeek  阅读(6792)  评论(0编辑  收藏  举报