k8s更新Pod镜像

Posted Davygeek

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"

 

以上是关于k8s更新Pod镜像的主要内容,如果未能解决你的问题,请参考以下文章

K8s的Pod控制器详解

K8S系列Deployment 详解

k8s从私有仓库拉取镜像创建pod时ImagePullBackOff

k8s 资源管理之 Pod

k8s 资源管理之 Pod

跟我学k8s:Deployment 控制器