deployment「deployment k8s」
Deployment的管理与使用(6)
介 绍 Deployment 相 关 概 念 , 包 括 什 么 是 控 制 器 , 如 何 创 建Deployment,什么是kubectl,如何进行deployment的扩容和升级等。 deployment是最常用的控制器。
描述kubernetes中各种控制器
创建和使用deployment

使用kubectl命令行工具
注意:创建多个pod时候,1.先创建deployment。2.deployment自动创建RS。3.RS管理POD的副本数量。
不适用RS直接控制POD的原因在于,RS不仅可以控制POD的数量,还可以对POD版本进行升级和回退。
Command:指定你希望进行的操作,如create,get,describe,delete等。
TYPE:指定操作对象的类型,如deployment,RS,Pod等
通过 kubectl api-resources命令可以查看资源类型
NAME:指定对象的名字
Flags: 可选的标志位 (如 : -o wide -n cube-system等)
示例:展示的deployment的创建,验证了会同事创建rs和pod
编辑一个yaml文件
命令
yaml文件
扩:修改/root/deploy.yaml, replicas: 3修改为 replicas: 5。重新apply
缩:修改/root/deploy.yaml, replicas: 5修改为 replicas: 2。重新apply
缩的动作时机就是杀pod的动作,可以设置执行缩(kill)的时间,比如30秒后进行缩的动作。保证存量进程可以在这段时间内继续执行。
将nginx的版本由1.7.9升级到1.8.1
利用yaml文件 :
deploy2.yaml 升级至 1.8.1 。
升级采取滚动升级的方式进行(down1个up1个,down第2个up第2个),从下面get rs 命令可以看到多出了一个nginx current是0的记录,该记录为原始的rs记录,数量已经变成了0,新版本以由新的nginx-deployment-59988f74c7替代。后面可利用在升级至1.9.1验证再一次的滚动操作。
deploy3.yaml 升级至 1.9.1
利用deploy3.yaml文件升级,验证再一次的滚动操作
查看升级历史,没有使用--record 所以没有记录信息(none),可以通过--revision=编号进行查看。
回滚操作
删除deployment(控制器)
因为无法直接删除pod(删除后rs会自动重建),要想删除POD只能通过删除控制器(deployment)来实现(删除deployment引出删除rs进而删除容器)
pod 和 deployment 的关系是什么 ?
pod是单一亦或一组容器的合集
deployment是pod版本管理的工具 用来区分不同版本的pod
问题:
1.创建pod的时候一定会创建 deployment 么 ?
2.创建deployment的时候一定会创建 pod么?
pod是可以单独创建并进行生命周期管理的
单独创建pod的时候就不会有deployment出现,但是创建deployment的时候一定会创建pod,因为pod是一个基础的单位。
任何的控制器单位的具体实现必须落到pod去实现。
部署的意思
部署的解释
(1) [disposition;deployment]∶处理;料理 炮兵的部署已标明在这张地图上 (2) [arrange;lay out]∶ 安排 部署计划 部署甫定而外围合。——清· 邵长蘅 《青门剩稿》 详细解释 (1).安排,布置。 《史记·项羽本纪》 :“ 梁 部署 吴中 豪杰为校尉、候、 司马 。” 唐 薛调 《无双传》 :“我以妻女为念,略归部署。疾召 仙客 与我 勾当 家事。” 清 戴名世 《孑遗录》 :“ 可法 部署既定,因遂亲巡所属之州郡,问民间疾苦,抚循军士。” (2).军中武官。 《资治通鉴·后唐庄宗同光二年》 :“诏以 天平 节度使 李嗣源 为招讨使, 武宁 节度使 李绍荣 为部署。” 胡三省 注:“部署之官始见於 《通鉴》 ,本在招讨使之下,其后有都部署,遂为专任主帅之任。” 宋 曾巩 《故朝散大夫孙公行状》 :“边将 刘沪 谋立 水洛城 ,与部署 狄青 、 尹洙 议不合, 沪 违其节度,遂立之。” 《续资治通鉴·宋仁宗皇祐五年》 :“初, 升 命部署 刘涣 讨叛 羌 , 涣 逗遛不进。 昪 奏以 郭恩 代之。” (3). 元 明 俗语。指拳棒教师或擂台比武的 主持 人。 元 无名氏 《射柳捶丸》 第三折:“外扮部署领打拳打棍四人上。” 《 清平 山堂话本·杨温拦路虎传》 :“ 马都头 道:‘我乃使棒部署,你敢共我使一合棒?’” 《 水浒传 》 第七四回:“一箇年老的部署,拏着竹批,上得献台,参神已罢,便请今年相扑的 对手 出马争交。”
词语分解
部的解释 部 ù 全体中的一份:部分(“分”读轻声)。外部。腹部。 局部 。全部。部件。部位(位置)。 机关 企业按业务范围分设的单位:外交部。编辑部。部队(军队)。 具有统属关系:所部五十人。部下。部将。部属。 部首 署的解释 署 ǔ 办理公务的机关:专署。公署。官署。 布置:部署。 签名,题字:签署。署名。署字。 暂代:署理。兼署。 部首:罒。
deployment是什么意思
deployment
部署
双语对照
词典结果:
deployment[英][dɪ'plɔɪmənt][美][dɪˈplɔɪmənt]
n.部署; 调度;
复数:deployments
以上结果来自金山词霸
例句:
1.
Major airlines intensify deployment of internet service on flights.
各大航空公司加强在航班上部署互联网服务。
2.
Custom app development fueling deployment.
用户程序开发加速了手机的配置。
3.
It was his first deployment.
这是他第一次被部署参加战斗。
RC,RS和deployment
1、使用Replication Controller 来部署、升级Pod
2、Replica Set – 下一代Replication Controller
3、Deployment – 更加方便的管理Pod和Replica Set
k8s是一个高速发展的项目,在新的版本中官方推荐使用Replica Set和Deployment来代替RC。那么它们优势在哪里,我们来看一看:
RC只支持基于等式的selector(env=dev或environment!=qa)但Replica Set还支持新的基于**的selector(version in (v1.0, v2.0)或env notin (dev, qa)),这对复杂的运维管理带来很大方便
使用Deployment升级Pod只需要定义Pod的最终状态,k8s会为你执行必要的操作,虽然能够使用命令kubectl rolling-update完成升级,但它是在客户端与服务端多次交互控制RC完成的,所以REST API中并没有rolling-update的接口,这为定制自己的管理系统带来了一些麻烦。
Deployment拥有更加灵活强大的升级、回滚功能
Replica Set目前与RC的区别只是支持的selector不同,后续肯定会加入更多功能。Deployment使用了Replica Set,是更高一层的概念。除非需要自定义升级功能或根本不需要升级Pod,所以推荐使用Deployment而不直接使用Replica Set。