Kubernetes – 部署

Kubernetes – 部署


部署升级和更高版本的复制控制器。他们管理副本集的部署,这也是复制控制器的升级版本。它们具有更新副本集的能力,也能够回滚到以前的版本。

它们提供了许多matchLabelsselectors 的更新功能我们在 Kubernetes master 中有一个新的控制器,称为部署控制器,它实现了。它具有中途更改部署的能力。

更改部署

更新– 用户可以在完成之前更新正在进行的部署。在这种情况下,将解决现有部署并创建新部署。

删除– 用户可以通过在完成之前将其删除来暂停/取消部署。重新创建相同的部署将恢复它。

回滚– 我们可以回滚部署或正在进行的部署。用户可以使用DeploymentSpec.PodTemplateSpec = oldRC.PodTemplateSpec创建或更新部署

部署策略

部署策略有助于定义新 RC 应如何替换现有 RC。

重新创建– 此功能将杀死所有现有的 RC,然后调出新的。这会导致快速部署,但是当旧 Pod 关闭而新 Pod 没有出现时,它会导致停机。

滚动更新– 此功能会逐渐降低旧的 RC 并启动新的 RC。这会导致部署缓慢,但没有部署。在任何时候,在此过程中都很少有旧 Pod 和新 Pod 可用。

Deployment 的配置文件是这样的。

apiVersion: extensions/v1beta1 --------------------->1
kind: Deployment --------------------------> 2
metadata:
   name: Tomcat-ReplicaSet
spec:
   replicas: 3
   template:
      metadata:
         lables:
            app: Tomcat-ReplicaSet
            tier: Backend
   spec:
      containers:
         - name: Tomcatimage:
            tomcat: 8.0
            ports:
               - containerPort: 7474

在上面的代码中,唯一与副本集不同的是我们将种类定义为部署。

创建部署

$ kubectl create –f Deployment.yaml -–record
deployment "Deployment" created Successfully.

获取部署

$ kubectl get deployments
NAME           DESIRED     CURRENT     UP-TO-DATE     AVILABLE    AGE
Deployment        3           3           3              3        20s

检查部署状态

$ kubectl rollout status deployment/Deployment

更新部署

$ kubectl set image deployment/Deployment tomcat=tomcat:6.0

回滚到之前的部署

$ kubectl rollout undo deployment/Deployment –to-revision=2

觉得文章有用?

点个广告表达一下你的爱意吧 !😁