- Kubernetes 教程
- Kubernetes - 主页
- Kubernetes - 概述
- Kubernetes - 架构
- Kubernetes - 设置
- Kubernetes - 图像
- Kubernetes - 工作
- Kubernetes - 标签和选择器
- Kubernetes - 命名空间
- Kubernetes-节点
- Kubernetes-服务
- Kubernetes-Pod
- Kubernetes - 复制控制器
- Kubernetes - 副本集
- Kubernetes - 部署
- Kubernetes - 卷
- Kubernetes - 秘密
- Kubernetes - 网络策略
- 高级 Kubernetes
- Kubernetes-API
- Kubernetes-Kubectl
- Kubernetes - Kubectl 命令
- Kubernetes - 创建应用程序
- Kubernetes - 应用程序部署
- Kubernetes - 自动缩放
- Kubernetes - 仪表板设置
- Kubernetes - 监控
- Kubernetes 有用资源
- Kubernetes - 快速指南
- Kubernetes - 有用的资源
- Kubernetes - 讨论
Kubernetes - 部署
部署已升级,复制控制器版本更高。它们管理副本集的部署,这也是复制控制器的升级版本。他们有能力更新副本集,也有能力回滚到以前的版本。
他们提供了matchLabels和选择器的许多更新功能。我们在 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