娟斌心 发表于 2018-1-6 07:29:58

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"  
页: [1]
查看完整版本: k8s更新Pod镜像