云计算容器编排技术 课件 32Kubernetes控制器Deployment2_第1页
云计算容器编排技术 课件 32Kubernetes控制器Deployment2_第2页
云计算容器编排技术 课件 32Kubernetes控制器Deployment2_第3页
云计算容器编排技术 课件 32Kubernetes控制器Deployment2_第4页
云计算容器编排技术 课件 32Kubernetes控制器Deployment2_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Kubernetes控制器Deployment2目录Deployment管理Pod01任务Deployment使用案例02任务自定义滚动更新策略任务03学习目标【知识目标】掌握Deployment的基本用法。【技能目标】能够使用Deployment创建Pod;能够使用Deployment扩容、缩容、滚动更新、回滚;能够使用Deployment自定义更新策略。1Deployment使用案例1上传镜像[root@node1~]#dockerload-inginx_v1.0.tar[root@node2~]#dockerload-inginx_v1.0.tar[root@node1~]#dockerload-inginx_v2.0.tar[root@node2~]#dockerload-inginx_v2.0.tarDeployment使用案例deployment部署nginx服务1[root@master~]#catdeploy-nginx.yamlapiVersion:apps/v1kind:Deploymentmetadata:name:nginxspec:replicas:2selector:matchLabels:app:nginxtemplate:metadata:labels:app:nginxspec:containers:-name:myappimage:nginx:v1.0imagePullPolicy:IfNotPresentports:-containerPort:80Deployment使用案例部署nginx服务,副本数为2,镜像使用nginx:v1.0,本地不存在是下载镜像deployment部署nginx服务1Deployment使用案例创建资源并查看deploykubectlapply-fdeploy-nginx.yaml[root@master~]#kubectlgetdeploydeployment部署nginx服务1Deployment使用案例查看rs状态:[root@master~]#kubectlgetrsdeployment部署nginx服务1Deployment使用案例查看pod状态:[root@master~]#kubectlgetpods[root@master~]#kubectlgetpods-owidedeployment部署nginx服务1Deployment使用案例请求创建的pod资源:[root@master~]#curl10.244.2.7[root@master~]#curl10.244.3.8deployment部署nginx服务1Deployment使用案例资源清单文件详细解读apiVersion:apps/v1#deployment对应的api版本kind:Deployment#创建的资源是deploymentmetadata:

name:nginx#deployment的名字spec:

replicas:2#deployment管理的pod副本数

selector:#标签选择器

matchLabels:#matchLabels下定义的标签需要跟template.metadata.labels定义的标签一致

app:nginx#标签内容,K/V键值对

template:

metadata:

labels:

app:nginx#该内容应与上面matchLabels所管理的值一致

spec:#定义容器的属性

containers:

-name:myapp

image:nginx:v1.0#容器使用的镜像

imagePullPolicy:IfNotPresent#镜像拉取策略

ports:

-containerPort:80#容器里的应用的端口deployment部署nginx服务2Deployment管理Pod2Deployment管理Pod扩容通过deployment管理应用,实现扩容,修改资源文件中的replicas数量为3[root@master~]#catdeploy-demo.yaml2Deployment管理Pod扩容[root@master~]#kubectlapply-fdeploy-nginx.yaml[root@master~]#kubectlgetpodsPod副本数变成3个。2Deployment管理Pod扩容查看nginx这个控制器的详细信息,看到新增一个Pod[root@master~]#kubectldescribedeploynginx2Deployment管理Pod缩容通过deployment管理应用,实现缩容,修改资源文件中的replicas数量为2[root@master~]#catdeploy-demo.yaml2Deployment管理Pod缩容[root@master~]#kubectlapply-fdeploy-nginx.yaml[root@master~]#kubectlgetpodsPod副本数变成2个。2Deployment管理Podscale管理扩缩容缩容或扩容可直接通过kubectlscale完成[root@master~]#kubectlscaledeploymentnginx--replicas=5deployment.apps/nginxscaled2Deployment管理Pod滚动更新通过deployment管理应用,实现滚动更新。在一个终端窗口执行如下:[root@master~]#kubectlgetpods-lapp=nginx-w2Deployment管理Pod滚动更新打开一个新的终端窗口更改镜像版本,把image:nginx:v1.0变成image:nginx:v2.0。[root@master~]#vimdeploy-nginx.yaml2Deployment管理Pod滚动更新执行新文件[root@master~]#kubectlapply-fdeploy-nginx.yaml再回到刚才执行监测kubectlgetpods-lapp=nginx-w的那个窗口查看2Deployment管理Pod回滚另外一个窗口查看到存在两个rs[root@master~]#kubectlgetrs查看nginx这个控制器的历史版本:[root@master~]#kubectlrollouthistorydeploymentnginx2Deployment管理Pod回滚kubectlrolloutundo实现回滚[root@master~]#kubectlrolloutundodeploymentnginx--to-revision=1[root@master~]#kubectlrollouthistorydeploymentnginx3自定义滚动更新策略3自定义滚动更新策略Deployment会在

.spec.strategy.type==RollingUpdate时,采取滚动更新的方式更新Pod。可以指定maxUnavailable和maxSurge来控制滚动更新过程。3自定义滚动更新策略maxUnavailable字段.spec.strategy.rollingUpdate.maxUnavailable

是一个可选字段,用来指定更新过程中不可用的Pod的个数上限。该值可以是绝对数字(例如,5),也可以是所需Pods的百分比(例如,10%)。百分比值会转换成绝对数并去除小数部分。如果

.spec.strategy.rollingUpdate.maxSurge

为0,则此值不能为0。默认值为25%。3自定义滚动更新策略maxSurge字段.spec.strategy.rollingUpdate.maxSurge

是一个可选字段,用来指定可以创建的超出期望Pod个数的Pod数量。此值可以是绝对数(例如,5)或所需Pods的百分比(例如,10%)。如果

MaxUnavailable

为0,则此值不能为0。百分比值会通过向上取整转换为绝对数。此字段的默认值为25%。3自定义滚动更新策略maxSurge和maxUnavailable取值范围按数值1.maxUnavailable:[0,副本数]2.maxSurge:[0,副本数]注意:两者不能同时为0。3自定义滚动更新策略maxSurge和maxUnavailable取值范围按百分比:1.maxUnavailable:[0%,100%]向下取整,比如10个副本,5%的话==0.5个,但计算按照0个;2.maxSurge:[0%,100%]向上取整,比如10个副本,5%的话==0.5个,但计算按照1个;注意:两者不能同时为0。3自定义滚动更新策略maxSurge和maxUnavailable取值范围默认配置:1.maxUnavailable==02.maxSurge==1新版本podready(结合readiness)后,才销毁旧版本pod。此配置适用场景是平滑更新、保证服务平稳,缺点是“太慢”。3自定义滚动更新策略maxSurge和maxUnavailable取值范围总结:maxUnavailable:和期望的副本数比,不可用副本数最大比例(或最大值),这个值越小,越能保证服务稳定,更新越平滑;maxSurge:和期望的副本数比,超过期望副本数最大比例(或最大值),这个值调的越大,副本更新速度越快。3自定义滚动更新策

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论