Kubernetes详解(二十二)——Deployment控制器

今天继续给大家介绍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: deployment
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      controller: deployment
      pod: myapp
  template:
    metadata:
      labels:
        controller: deployment
        pod: myapp
    spec:
      containers:
      - name: myapp
        image: ikubernetes/myapp:v1
        ports:
        - name: http
          containerPort: 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

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值