今天继续给大家介绍Linux运维相关知识,本文主要内容是Deployment控制器。

一、Deployment控制器概述

在前文Kubernetes详解(二十)——ReplicaSet控制器和Kubernetes详解(二十一)——ReplicaSet控制器实战应用中,我们介绍了Kubernetes的ReplicaSet控制器,今天,我们来介绍Kubernetes的另一种控制器——Deployment。Deployment控制器构建于ReplicaSet控制器之上(意思是Deployment控制器在创建时,一定会先创建一个ReplicaSet控制器),可以为Pod和ReplicaSet资源提供声明式更新。
Deployment控制器的主要职责是保证Pod资源的健康运行,该控制器的大部分功能是通过调用ReplicaSet控制器实现,同时Deploymen控制器还增添了一些特性,这些特性大多是体现在Pod更新上,使得我们队Pod的更新控制更加细致。Deployment控制器增添的特性如下:
1、事件和状态查看。
我们可以借助Deployment控制器查看Pod更新的状态。
2、回滚
当Pod升级完毕后,如果发现更新升级后存在问题,就可以通过Deployment控制实现Pod的回滚,即将Pod重新恢复为之前的版本。
3、版本记录
可以对Pod升级的每个版本进行保留,这样可以方便回滚操作。
4、暂停和启动
在Pod升级过程中,可以随时暂停、启动。这样可以实现只对部分Pod进行升级,从而实现金丝雀发布(灰度发布)。
5、多种方案更新
Deployment支持两种更新方案,一种是Recreate,即重建更新机制,先全面停止、删除原有的Pod对象,然后再用新的版本替代;另一种是RollingUpdate,即滚动升级机制,逐步替换、升级Pod,保证业务不中断。

二、Deployment控制器资源清单创建

下面,我们就通过资源配置清单,实现Deployment控制器的创建,并查看效果。创建Deployment.yaml文件,并写入内容如下:

apiVersion: apps/v1
kind: Deployment
metadata:name: deploymentnamespace: default
spec:replicas: 1selector:matchLabels:controller: deploymentpod: myapptemplate:metadata:labels:controller: deploymentpod: myappspec:containers:- name: myappimage: ikubernetes/myapp:v1ports:- name: httpcontainerPort: 80

配置完成后的资源配置清单如下所示:

从上述配置可以看出,Deployment控制器和ReplicaSet控制器的参数基本相同,对上述配置存在困惑的可以参考文章前面提到的两篇文章,在这里就不过多赘述了。
完成资源配置清单文件的创建和编写后,我们接下来执行该资源清单配置文件,创建Deployment控制器。
执行命令:

kubectl apply -f Deployment.yaml

接下来,我们先后执行命令:

kubectl get deployment
kubectl get replicaset
kubectl get pods

分别用于查看Deployment控制器、ReplicaSet控制器和Pod的情况,结果如下:

从上图中可以看出,我们的Deployment控制器创建成功。并且Deployment控制器、ReplicaSet控制器和Pod之间有以下关系:在创建了Deployment控制器后,Kubernetes会自动创建ReplicaSet控制器,该控制器的名称以Deployment控制器的名称为主,后面跟着随机的字符串,而Pod的名称又以Deployment控制器的名称为主,后面跟着随机的而字符串。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

Kubernetes详解(二十二)——Deployment控制器相关推荐

  1. CMake手册详解 (十二)

    2019独角兽企业重金招聘Python工程师标准>>> SirDigit CMake手册详解 (十二) CMD#30:find_library查找一个库文件 find_library ...

  2. shell脚本详解(十二)——Here Document免交互及Expect自动化交互

    shell脚本详解(十二)--Here Document免交互及Expect自动化交互 一.Here Document 免交互 1.格式 2.注意事项 3.免交互方式实现对行数的统计,将要统计的内容置 ...

  3. c语言标准库详解(十二):非局部跳转setjmp.h

    c语言标准库详解(十二):非局部跳转<setjmp.h> 概述 头文件<setjmp.h>中的声明提供了一种不同于通常的函数调用和返回顺序的方式,特别是,它允许立即从一个深层嵌 ...

  4. Hadoop详解(十二):Yarn资源调度策略

    在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler. FIFO Scheduler FIFO Scheduler把应用 ...

  5. TCP/IP详解 第十二章(10) TCP Socket 编程

    前言 不管面试 Java .C/C++.Python 等开发岗位, TCP 的知识点可以说是的必问的了. 任 TCP 虐我千百遍,我仍待 TCP 如初恋. 遥想小林当年校招时常因 TCP 面试题被刷, ...

  6. TCP/IP详解 第十二章(9) TCP断开连接

    前言 不管面试 Java .C/C++.Python 等开发岗位, TCP 的知识点可以说是的必问的了. 任 TCP 虐我千百遍,我仍待 TCP 如初恋. 遥想小林当年校招时常因 TCP 面试题被刷, ...

  7. Pygame详解(十二):Surface 对象

    pygame.Surface Pygame 中用于表示图像的对象. Surface((width, height), flags=0, depth=0, masks=None) -> Surfa ...

  8. Linux系统调优详解(十二)——IO调优之磁盘测速

    今天继续给大家介绍Linux运维相关知识,本文主要内容是IO调优,测试对磁盘的速度. 在进行Linux系统调优的时候,我们需要对当前系统的硬盘读写速度进行测试.此时,我们可以选择使用hdparm命令或 ...

  9. STL详解(十二)—— unordered_set、unordered_map的介绍及使用

    文章目录 unordered系列关联式容器 unordered_set的介绍 unordered_set的使用 unordered_set的定义方式 unordered_set接口的使用 unorde ...

  10. PD3.0详解 第十二章总结

    前面的章节分开介绍了协议层和策略层的俩个重要策略!今天想总结一下,并做一些补充.如果有一些内容没有介绍到,可能后续会补充,同学们可以关注一下大师匈. 补充点一.读Emark 大家都知道PD是标定了10 ...

最新文章

  1. win10 VMware15 安装 CentOS6.4 64位(慢慢弄吧,别急)
  2. 32位与64位下各类型长度对比
  3. C语言课程设计——学生学籍管理系统
  4. 金融行业容器平台落地路径:敏捷响应业务更迭
  5. pytorch学习2:pytorch搭建Alexnet网络
  6. cmake BUILD_SHARED_LIB变量
  7. 理解lambda在linq中的应用
  8. 【git】LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
  9. 北航计算机考研计算机组成原理,北航计算机组成原理讲义.pdf
  10. 信号与线性系统分析(吴大正,郭宝龙)(5-系统定义与典型系统)
  11. 《word精彩实例互动教程》已经上线!
  12. CSS 代码语法 代码注释
  13. SaaS(软件即服务)架构设计
  14. “采菊东篱下,悠然见南山”----南山路上品太古 总结
  15. Windows 语音引擎TTS修复
  16. jasypt加密敏感配置信息出现Encryption raised an exception
  17. 一个APP诞生的自述日记,APP开发流程
  18. Flink电商实时数仓项目05-数据可视化
  19. 王坚:阿里巴巴为什么会“去IOE”(一) | 《商业价值》杂志
  20. 常识——windows的tensorflow安装gpu版本,cuda算力只有3.0也可以

热门文章

  1. bug4-UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed...
  2. 距离Java开发者玩转 Serverless,到底还有多远?
  3. 解密Google、百度搜索引擎揭秘
  4. 敏捷无敌(11)之兵不厌诈
  5. 存储位置优化——把视图状态信息保存在服务端而非客户端
  6. 深入理解目标检测与YOLO(从v1到v3)
  7. Matlab中冒号“:“的使用方法
  8. Eclipse — 如何导入包
  9. 1017 A除以B (20 分)—PAT (Basic Level) Practice (中文)
  10. C语言 — 数据类型,基本整型所占字节数