- 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 - 部署
部署是复制控制器的升级和更高版本。它们管理副本集的部署,副本集也是复制控制器的升级版本。它们能够更新副本集,也能够回滚到之前的版本。
它们提供了许多更新的匹配标签和选择器功能。我们在 Kubernetes 主节点中获得了一个新的控制器,称为部署控制器,它使这一切成为可能。它能够中途更改部署。
更改部署
更新 - 用户可以在部署完成之前更新正在进行的部署。在此过程中,现有部署将被结算,并将创建新的部署。
删除 - 用户可以在部署完成之前通过删除来暂停/取消部署。重新创建相同的部署将恢复它。
回滚 - 我们可以回滚部署或正在进行的部署。用户可以使用DeploymentSpec.PodTemplateSpec = oldRC.PodTemplateSpec来创建或更新部署。
部署策略
部署策略有助于定义新的 RC 如何替换现有的 RC。
重新创建 - 此功能将终止所有现有 RC,然后启动新的 RC。这导致快速部署,但是当旧 Pod 关闭而新 Pod 尚未启动时,会导致停机。
滚动更新 - 此功能会逐渐关闭旧 RC 并启动新的 RC。这导致部署缓慢,但是没有停机时间。在此过程中,始终有一些旧 Pod 和一些新 Pod 可用。
部署的配置文件如下所示。
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
在上面的代码中,与副本集唯一不同的是我们将 kind 定义为 deployment。
创建部署
$ 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
广告