创建 Deployment

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

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

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

kubectl get deployment  

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

更新Deployment

扩容:

  1. kubectl scale deployment nginx-deployment --replicas 10

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

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

更新镜像也比较简单:

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

回滚到上一个版本:

  1. kubectl rollout undo deployment/nginx-deployment

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

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

历史记录

kubectl rollout history deployment/alpine-fbgweb

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

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

查看单个revision 的详细信息:

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

  1. [root@master scripts]# kubectl rollout history deployment alpine-fbgweb --revision=1
  2. deployments "alpine-fbgweb" with revision #1
  3. Pod Template:
  4. Labels: app=alpine-fbgweb
  5. pod-template-hash=469852024
  6. Annotations: kubernetes.io/change-cause=kubectl apply --filename=/data/scripts/app/fbgweb.yaml --record=true
  7. Containers:
  8. alpine-fbgweb:
  9. Image: 192.168.0.153:5000/fbgweb:2017-11-13-13-49-30
  10. Port: 80/TCP
  11. Environment: <none>
  12. Mounts:
  13. /etc/localtmie from tz-config (rw)
  14. Volumes:
  15. tz-config:
  16. Type: HostPath (bare host directory volume)
  17. 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. Markdown编辑器-图形化

    SELECT * from yffee_favourable_detail yfd LEFT JOIN yffee_favourable yf on yfd.minor_id = yf.major_i ...

  2. Cookie的格式及组成、页面间传参实例

    做项目需要页面间参数传递,搜索了一下网上的回复,发现可以用cookie解决,借此学习cookie的格式及组成: Cookie由变量名和值组成,类似Javascript变量.其属性里既有标准的Cooki ...

  3. 微信开放平台Android应用的签名

    微信开放平台Android应用签名的本质便是我们签名文件keystore的MD5值. keytool -list -v -keystore qj_test.keystore 获得: 别名: naoli ...

  4. oracle序列的创建和使用

    oracle 序列的创建与使用 (2012-03-15 16:14:09) -------------------------------------------------------------- ...

  5. @ConfigurationProperties与@value区别

    @ConfigurationProperties与@value区别   @ConfigurationProperties @value 功能 批量注入配置文件中的属性 一个个指定 松散绑定 支持 不支 ...

  6. 响应式布局和BootStrap 全局CSS样式

    1.什么是响应式布局 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,这个概念是为解决移动互联网浏览而诞生的. 简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一 ...

  7. sublime3中如何快速生成html头部信息

    前提要安装Emmet 插件:已经结束了啊,不要以为下面的操作跟问题有关,下面是具体的生成头部信息方法 输入下边加粗的缩写,然后Tab,就可以了: 生成html4.01 Transitional用 ht ...

  8. 左连接sql

    <?php public function sumZong($id){ $sql =' SELECT * FROM vvt_league_user AS p Left join vvt_leag ...

  9. Code Signal_练习题_Minesweeper

    In the popular Minesweeper game you have a board with some mines and those cells that don't contain ...

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

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