教程 > k8s 教程 > 阅读:44

kubernetes(k8s) 部署——迹忆客-ag捕鱼王app官网

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

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


更改部署

  • 更新 - 用户可以在完成之前更新正在进行的部署。 在此,将解决现有部署并创建新部署。
  • 删除 - 用户可以通过在部署完成之前将其删除来暂停/取消部署。 重新创建相同的部署将恢复它。
  • 回滚 - 我们可以回滚部署或正在进行的部署。 用户可以使用 deploymentspec.podtemplatespec = oldrc.podtemplatespec 创建或更新部署。

部署策略

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

  • 重新创建 - 此功能将杀死所有现有的 rc,然后启动新的 rc。 这会导致快速部署,但是当旧的 pod 关闭而新的 pod 没有出现时,它会导致停机。
  • 回滚更新 - 此功能逐渐降低旧的 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

查看笔记

扫码一下
查看教程更方便
网站地图