创建 Deployment

kubectl create -f https://kubernetes.io/docs/user-guide/nginx-deployment.yaml --record
deployment "nginx-deployment" created

将kubectl的 --record 的 flag 设置为 true可以在 annotation 中记录当前命令创建或者升级了该资源。这在未来会很有用,例如,查看在每个 Deployment revision 中执行了哪些命令。

然后立即执行 get 将获得如下结果:

kubectl get deployment  

NAME                  DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
alpine-fbgweb 1 1 1 1 12h
alpine-lnp 1 1 1 1 3d
demo-deployment 3 3 3 3 15h
jenkins 1 1 1 1 3d
nginx-dm 2 2 2 2 13d
nginx1-7-deployment 1 1 1 1 15h
nginx1-8-deployment 1 1 1 1 15h

更新Deployment

扩容:

kubectl scale deployment nginx-deployment --replicas 10

如果集群支持 horizontal pod autoscaling 的话,还可以为Deployment设置自动扩展:

kubectl autoscale deployment nginx-deployment --min=10 --max=15 --cpu-percent=80 

更新镜像也比较简单:

kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1

回滚到上一个版本:

kubectl rollout undo deployment/nginx-deployment

也可以使用 --revision参数指定某个历史版本:

 kubectl rollout undo deployment/nginx-deployment --to-revision=2
deployment "nginx-deployment" rolled back

历史记录

kubectl rollout history deployment/alpine-fbgweb

REVISION        CHANGE-CAUSE
1 kubectl apply --filename=/data/scripts/app/fbgweb.yaml --record=true
2 kubectl apply --filename=/data/scripts/app/fbgweb.yaml --record=true

创建 Deployment 的时候使用了--record参数可以记录命令,我们可以很方便的查看每次 revision 的变化。

查看单个revision 的详细信息:

kubectl rollout history deployment alpine-fbgweb --revision=1

[root@master scripts]# kubectl rollout history deployment alpine-fbgweb --revision=1
deployments "alpine-fbgweb" with revision #1
Pod Template:
Labels: app=alpine-fbgweb
pod-template-hash=469852024
Annotations: kubernetes.io/change-cause=kubectl apply --filename=/data/scripts/app/fbgweb.yaml --record=true
Containers:
alpine-fbgweb:
Image: 192.168.0.153:5000/fbgweb:2017-11-13-13-49-30
Port: 80/TCP
Environment: <none>
Mounts:
/etc/localtmie from tz-config (rw)
Volumes:
tz-config:
Type: HostPath (bare host directory volume)
Path: /usr/share/zoneinfo/Asia/Shanghai

K8S Deployment 命令的更多相关文章

  1. 【转帖】K8S Deployment 命令

    K8S Deployment 命令 https://www.cnblogs.com/Tempted/p/7831604.html 今天学习了一下 kubectl scale deployment xx ...

  2. k8s常用命令

    K8s一些命令:通过yaml文件创建:kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete)kubectl apply -f xxx.yaml (创建+更新 ...

  3. K8s常用命令操作

    K8s常用命令操作 一.kubectl命令补全 1.master安装命令补全,并临时生效 yum install -y bash-completion source /usr/share/bash-c ...

  4. [转帖] K8S 常用命令

    k8s常用命令  原贴地址 查看集群信息: [root@kubernetes-master pods]# kubectl cluster-info kubectl cluster-info展示结果 k ...

  5. k8s 常用命令汇集

    通过yaml文件创建: kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete) kubectl apply -f xxx.yaml (创建+更新,可以重复使 ...

  6. 详细聊聊k8s deployment的滚动更新(一)

    一.知识准备 ● 本文详细探索deployment在滚动更新时候的行为 二.环境准备 组件 版本 OS Ubuntu 18.04.1 LTS docker 18.06.0-ce 三.准备镜像 首先准备 ...

  7. k8s常用命令记录

    目录 kubectl常用命令 kubectl get pod -n dev 查看日志 查看pod详情 删除pod 删除job 进入pod里面 查看namespace 创建namespace 删除nam ...

  8. 详细聊聊k8s deployment的滚动更新(二)

    一.知识准备 ● 本文详细探索deployment在滚动更新时候的行为 ● 相关的参数介绍:   livenessProbe:存活性探测.判断pod是否已经停止   readinessProbe:就绪 ...

  9. [转帖] k8s kubectl 命令行技巧

    https://jimmysong.io/posts/kubectl-cheatsheet/ Kubectl Cheatsheet kubectl命令技巧大全Posted on November 3, ...

随机推荐

  1. 设置input标签placeholder字体颜色

    有时会遇到这样的需求,输入框的默认提示文字与用户输入的文字不同. <input className="city" placeholder="城市"/> ...

  2. SQL Server数据类型转换方法

    在SQL Server日常的函数.存储过程和SQL语句中,经常会用到不同数据类型的转换.在SQL Server有两种数据转换类型:一种是显性数据转换:另一种是隐性数据转换.下面分别对这两种数据类型转换 ...

  3. attempt to write a readonly database错误的解决(C#,SQLite)

    今天打包WPF程序,安装后总是打不开,查看监控日志原来是SQLite的问题,报错如图 当向SQLite数据库中存入新纪录时总是显示attempt to write a readonly a datab ...

  4. asp.net web api 跨域,带cookie

    官网上有一个介绍 http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api 但是只支 ...

  5. C#的async和awaiit的一些记录

    一,最近在学习abp的东西.发现其中作者在获取数据时,大量的使用了async和awaiit.好吧,因为不太懂,所以网上搜搜,在这里记录一下. 先来看一段代码.调用UpdateUserAsync会返回一 ...

  6. MVC初级教程(二)

    演示产品源码下载地址:http://www.jinhusns.com/Products/Download 

  7. 【转】Cookie深度解析

    Cookie简介 众所周知,Web协议(也就是HTTP)是一个无状态的协议(HTTP1.0).一个Web应用由很多个Web页面组成,每个页面都有唯一的URL来定义.用户在浏览器的地址栏输入页面的URL ...

  8. MySQL的排序方式

    MySQL中 进行排序的方式: Select * from 表名 [where 条件 order by  字段名(默认的是ASC升序排列)] ASC是升序排列,DESC用来指定降序排列 Oracle中 ...

  9. 【java基础】从反射开始(Reflection)

    Java学习笔记 https://github.com/SnailDev/java-learning 和我一起启程... 反射(Reflection) 定义 在运行状态中, 对于任意的一个类,都能够知 ...

  10. Nib加载的方式实现自定义TableView

    实现的效果 实现原理: 通过在主界面中用Bundle 的LoadNib的方式进行自定义窗体文件加载并渲染界面 实现步骤 Step One 创建TableViewCell 窗体 Step Two 定义接 ...