前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >kubectl更新镜像和回滚命令

kubectl更新镜像和回滚命令

作者头像
Ryan-Miao
发布于 2020-06-12 00:33:07
发布于 2020-06-12 00:33:07
5.5K00
代码可运行
举报
文章被收录于专栏:Ryan MiaoRyan Miao
运行总次数:0
代码可运行

目录

使用kubernetes 进行升级的时候并不需要停止业务,kubectl 支持滚动升级的方式,每次更新一个pod,而不是同时删除整个服务。

准备实验素材

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-nginx
spec:
  selector:
    matchLabels:
      name: nginx
  replicas: 3
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
        - name: hello-nginx
          image: nginx:1.7.9
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl apply -f hello-nginx.yml --record

更新镜像的语法

可以不用使用yml配置文件, 直接替换镜像版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# kubectl set image deployment  <deploymentName> <containerName>=<image>

 kubectl --kubeconfig config-lego-test  set image deployment/hello-nginx hello-nginx=nginx:1.9.2

我们可以通过设置docker:lastTag的方式, 回滚到上一个镜像. 但k8s本身也支持版本记录和回滚.

查看发布历史

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost .kube]# kubectl --kubeconfig config-my  rollout history deployment hello-nginx
deployment.extensions/hello-nginx 
REVISION  CHANGE-CAUSE
1         kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true
2         kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true
3         kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true
4         kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true

[root@localhost .kube]# kubectl --kubeconfig config-my  rollout history deployment hello-nginx --revision=4
deployment.extensions/hello-nginx with revision #4
Pod Template:
  Labels:       app=hello-nginx
        pod-template-hash=6d5c95fcc5
  Annotations:  kubernetes.io/change-cause: kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true
  Containers:
   hello-nginx:
    Image:      nginx:1.9.2
    Port:       8080/TCP
    Host Port:  0/TCP
    Requests:
      cpu:      250m
      memory:   512Mi
    Environment:        <none>
    Mounts:     <none>
  Volumes:      <none>

回滚到上一个版本

比如, 刚才查看了最近的几条发布历史记录, 现在回滚到上一个版本, 即revision=3.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost .kube]# kubectl --kubeconfig config-lego-test  rollout undo deployment hello-nginx
deployment.extensions/hello-nginx rolled back

[root@localhost .kube]# 
[root@localhost .kube]# kubectl --kubeconfig config-lego-test  rollout history deployment hello-nginx
deployment.extensions/hello-nginx 
REVISION  CHANGE-CAUSE
1         kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true
2         kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true
4         kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true
5         kubectl apply --kubeconfig=config-lego-test --filename=hello-nginx.yml --record=true

可以发现, revision=3没了, 多个了一个revison=5. describe一下, 可以看到, 确实是第3个版本的镜像.

回滚指定版本

除了上面直接回滚到上一次, 也可以指定具体某个版本. 比如回滚到revision=1.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 kubectl rollout undo deployment/hello-nginx --to-revision=1

ps: deployment/hello-nginx 表示 deployment hello-nginx

查看回滚状态

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost .kube]# kubectl --kubeconfig config-lego-test  rollout status deployment hello-nginx       
deployment "hello-nginx" successfully rolled out

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
How Can Unity+腾讯云开发=微信小游戏?
如果你点进来是因实际需求而不是随意瞧瞧,请同时看看官方的最新进展,指不定有意外的收获
蛋先生DX
2024/09/18
5600
How Can Unity+腾讯云开发=微信小游戏?
如何用云开发快速搭建实时 Todo List 应用
借助云开发数据库的实时推送能力和云开发官方出品的前后端一体化部署工具CloudBase Framework,可以轻松搭建一个完整应用。 效果展示 示例地址: http://cloud.qinmudi.cn/watch-todolist 1.开发前准备 1.1 腾讯云 CloudBase 的按量计费环境 我们要部署静态网站,因此,需要提前准备按量计费环境。 1.2 项目创建 使用 CloudBase Framework 创建一个 vue 应用。具体操作,参见:如何用 Cloudbase Fra
腾讯云开发TCB
2020/08/12
1.3K0
云开发 For Web:一站式开发下一代 Serverless Web 应用
近两年来,Serverless 无疑是前端圈里最火热的话题之一,在各种技术峰会、各种技术文章里都能看到它的身影。如果你是一名前端开发者,一定很奇怪:
腾讯云开发TCB
2020/03/27
2.1K0
云开发 For Web:一站式开发下一代 Serverless Web 应用
基于云开发 CloudBase 搭建在线视频会议应用
「在线视频会议应用」是基于浏览器的能力 WebRTC 以及云开发 CloudBase 能力构建而成的应用,在云开发的助力下,一个复杂的在线会议应用,1人、1-2天即可完成搭建。 本应用用到的能力、工具、框架有: CloudBase Framework 用于项目基础目录结构生成, 一键部署 Simple Peer 流行的 WebRTC 库 云开发CloudBase - 云函数, 包括云函数的定时调用 云开发CloudBase - 数据库 云开发CloudBase - 静态网站托管 React Ant d
腾讯云开发TCB
2020/10/14
1.6K0
TCB系列学习文章——数据库实时推送
云开发数据库支持实时推送变更数据的能力,给定查询条件,每当数据库更新而导致查询条件对应的查询结果发生变更时,小程序可收到一个更新事件,其中可获取更新内容和更新后的查询结果快照。
F颜
2021/05/05
1.3K0
云开发如何为腾讯游戏年度发布会保驾护航?
受疫情影响,2020 腾讯游戏年度发布会以线上的形式进行。区别于往年的线下 toB模式,线上面对的群体比较广泛,同时也希望借此机会能更贴近玩家,所以在线上发布的内容和线上呈现形式等方面,都要考虑如何做得更加玩家向。 发布会从预热到结束,历经42天,吸引了大量玩家的关注。因此,参与量如此大、互动如此多、内容如此丰富的线上服务类互动小程序如何抗住高并发得以稳定运行? 在经验方面,团队做过很多类似的线下服务类互动小程序,如TIEM年会小程序、英雄联盟观赛助手和CF赛事助手小程序等。 但这次却是第一次做参
腾讯云开发TCB
2020/08/18
5940
微信小程序--聊天室小程序(云开发)
从微信小程序开发社区更新watch接口之后,一直在构思这个项目。项目已经完成很久,但是一直都没有空写一篇博客记录展示一下。
Kindear
2021/09/09
6K0
vue3直接操作微信小程序云开发数据库,web网页对云数据库进行增删改查
我们开发好小程序以后,有时候需要编写一个管理后台网页对数据库进行管理,之前我们只能借助云开发自带的cms网页,但是cms网页设计的比较丑,工作量和代码量也不够,所以我们今天就来带大家实现用vue3编写管理后台直接管理云开发数据库
编程小石头
2025/04/27
1320
基于云开发 CloudBase 搭建在线视频会议应用教程
在线视频会议应用是基于浏览器的能力 WebRTC 以及 腾讯云开发 CloudBase 能力构建而成的应用. 在云开发的助力下, 一个复杂的在线会议应用, 一个人一两天即可完成.
腾讯云开发TCB
2020/11/17
2.1K0
基于云开发 CloudBase 搭建在线视频会议应用教程
vue3直接操作微信小程序云开发数据库,web网页对云数据库进行增删改查
我们开发好小程序以后,有时候需要编写一个管理后台网页对数据库进行管理,之前我们只能借助云开发自带的cms网页,但是cms网页设计的比较丑,工作量和代码量也不够,所以我们今天就来带大家实现用vue3编写管理后台直接管理云开发数据库
编程小石头
2025/04/28
1690
vue3直接操作微信小程序云开发数据库,web网页对云数据库进行增删改查
微信小程序--云开发支付闭环
云开发支付流程闭环 extends 微信小程序--使用云开发完成支付闭环 在上述文章中,我们对支付结果的处理更多依赖于小程序端的操作 订单号存储在小程序端 支付结果采用小程序端定时触发器轮询
Kindear
2021/06/10
4.2K0
微信小程序--云开发支付闭环
小程序云开发常用语句宝库
查询语句,返回的是 res.data[] 数组 调用云函数返回的是res.result get 数据获取返回的是 res.data{} 对象 1.调用云函数 this.DB = wx.cloud.database() wx.cloud.init({ env: 'mm-4t7rg' }) wx.cloud.callFunction({ name: "login", data: {}, success(res) { console.log('个人信息-------------',res.
IT工作者
2022/02/16
3540
1个人3步轻松搞定“实时聊天室” | 云开发实战
这是一个由 create-react-app 快速生成的脚手架项目,所以大部分构建和工程化的细节这里就略过不谈了,我们直接来看代码实现,大致上实现了三个功能,括号中是使用的云开发能力:
腾讯云开发TCB
2020/03/31
1.8K1
1个人3步轻松搞定“实时聊天室” | 云开发实战
如何用云开发打造“万人同屏”高并发实时互动小程序
在发布会过程中,一个重要的环节就是跟随着活动的进展,每个环节都会有自己的定制互动。例如和平精英环节,会有和平精英专场掉落抽奖、和平精英闪现社区弹幕、议程也需要高亮和平精英模块,如下图:
腾讯云开发TCB
2020/07/24
1.6K0
如何用云开发打造“万人同屏”高并发实时互动小程序
腾讯云新产品“云开发”尝鲜体验
最近用云开发写仿了一个很古老的小游戏 http://stonelf.gitee.io/letter/letter.html 大家可以点进去玩一下。分享一下过程中踩的一些坑。
黄希彤
2019/11/27
10.6K1
腾讯云新产品“云开发”尝鲜体验
003微信小程序云开发API数据库-新增集合-删除集合-获取集合信息
微信小程序云开发API数据库是一个方便快捷的数据库解决方案,可以让开发者在小程序中直接使用云端数据库功能,无需自己搭建和管理服务器。在微信小程序云开发API数据库中,我们可以创建新的集合,以便存储和管理相关的数据。本文将通过案例和代码的方式,详细介绍微信小程序云开发API数据库的新增集合方法。
度假的小鱼
2024/12/23
2550
003微信小程序云开发API数据库-新增集合-删除集合-获取集合信息
小程序云开发实时监控
德宏大魔王
2023/08/08
2680
小程序云开发实时监控
【愚公系列】《微信小程序与云开发从入门到实践》047-使用云数据库
在数字化转型的浪潮中,数据的管理与应用已成为企业和开发者关注的核心。微信小程序凭借其便捷的使用体验和广泛的用户基础,逐渐成为各类应用和服务的重要载体。其中,云数据库作为一种高效、灵活的解决方案,为小程序提供了强大的数据存储和管理能力,使得开发者能够专注于业务逻辑的实现,而无需过多担心基础设施的搭建和维护。
愚公搬代码
2025/01/28
2260
小程序云开发 Collection.watch 监听器构建和销毁
监听集合中符合查询条件的数据的更新事件。使用 watch 时,支持 where, orderBy, limit,不支持 field。
Kindear
2021/05/18
1.1K0
微信小程序与云开发
Java、NodeJS、JavaScript、HTML5、CSS3、VueJs、ReactJs、前端工程化、前端架构
达达前端
2019/08/05
8.9K0
微信小程序与云开发
推荐阅读
相关推荐
How Can Unity+腾讯云开发=微信小游戏?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验