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

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

#!/bin/bash

#命名空间
ns=$ #pod名称
podname=$ #获取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镜像的更多相关文章

  1. Jenkins和Gitlab CI/CD自动更新k8s中pod使用的镜像说明

    Jenkins 使用Jenkins的话,完成的工作主要有如下步骤: 1.从Gogs或Gitlab仓库上拉取代码 2.使用Maven编译代码,打包成jar文件 3.根据jar文件使用相对应的Docker ...

  2. k8s之pod控制器

    1.生产中,很少会跑一个自主式pod,一般由控制器去创建pod,其配置文件中内嵌了pod的创建方式. pod控制器:ReplicaSet.Deployment.DaemonSet.Job.Cronjo ...

  3. k8s之pod与Pod控制器

    k8s中最为重要的基础资源,pod,pod controller,service pod controller类型有多种需要向控制器赋值之后使用: kubectl命令使用 kubectk get no ...

  4. k8s的Pod状态和生命周期管理

    Pod状态和生命周期管理   一.什么是Pod? 二.Pod中如何管理多个容器? 三.使用Pod 四.Pod的持久性和终止 五.Pause容器 六.init容器 七.Pod的生命周期 (1)Pod p ...

  5. k8s系列---pod介绍

    # yaml格式的pod定义文件完整内容: apiVersion: v1 #必选,版本号,例如v1 kind: Pod #必选,Pod metadata: #必选,元数据 name: string # ...

  6. 结合k8s和pipeline的流水线,并通过k8s接口完成镜像升级

    现在这家单位的CICD比较的混乱,然后突发奇想,想改造下,于是就用pipeline做了一个简单的流水线,下面是关于它的一些介绍 写一个简单的流水线 大概就是这么个流程简单来说就是:拉代码---> ...

  7. k8s家族Pod辅助小能手Init容器认知答疑?

    k8s家族Pod辅助小能手Init容器认知答疑? k8s集群Init 容器是一种特殊容器,职责是在Pod的生命周期中作为应用容器的前置启动容器. 在很多应用场景中,在 Pod 内的应用容器正式启动之前 ...

  8. k8s 中 Pod 的控制器

    k8s 中 Pod 的控制器 前言 Replication Controller ReplicaSet Deployment 更新 Deployment 回滚 deployment StatefulS ...

  9. k8s删除pod时,docker服务出现挂载点泄漏问题的解决

    k8s更新版本后,老的POD一直出现Terminating,多久都不能删除. 然后,进入具体的节点机器之后,查看日志输出如下类似: ERROR: driver "overlay" ...

随机推荐

  1. 转在Python中实现PageFactory模式

    转自: http://www.cnblogs.com/fnng/p/5092383.html 关于 PageFactory 的概念主要是Java中内置了PageFactory类. import org ...

  2. MAC 通过brew安装软件

    1.安装brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/instal ...

  3. Laravel 5 教程 - 文件上传

    一.简介 Laravel 有很棒的文件系统抽象层,是基于 Frank de Jonge 的 Flysystem 扩展包. Laravel 集成的 Flysystem 提供了简单的接口,可以操作本地端空 ...

  4. Eclipse添加中文语言包与下载

    从Eclipse官网下载最新版本的Eclipse都是英文版的,不自带语言包.现在Eclipse有一个语言包项目,叫Eclipse Babel Project.如果需要语言包,可以联机从这儿下载. Ba ...

  5. linux命令小技巧

    一:命令行里怎么往上翻页 Shift+PageUP|PageDown 二:分页显示文件内容则可以用less工具过滤,然后用方向键或PageUp/PageDown上下翻 less /etc/passwd ...

  6. 180508 - 解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题

    解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题 [√]问题原因猜测4: 最终解决方案 [√]问题原因猜测3: 尝试解决 [√成功] [×]问题原因猜测2: 尝试解决 [×失败] [ ...

  7. atitit.浏览器插件解决方案----ftp插件 attilax 总结

    atitit.浏览器插件解决方案----ftp插件  attilax 总结 1. 界面概览  D:云盘同步文件夹p5p5f tp.demo.html1 2. 初始化1 3. 事实调用2 4. 参考2 ...

  8. 公共查询类criteria

    package cn.edu.hbcf.common.vo; import java.math.BigDecimal; import java.sql.Timestamp; import java.u ...

  9. Hive学习笔记——保存select结果,Join,多重插入

    1. 保存select查询结果的几种方式: 1.将查询结果保存到一张新的hive表中 create table t_tmp as select * from t_p; 2.将查询结果保存到一张已经存在 ...

  10. xml传输过程中中文乱码

    ------------------------------------------request:----------------------------------------------- pu ...