Deployment
Deployment 一般用于部署公司的无状态服务。
Deployment 是 Kubernetes 在 1.2 版本中引入的新概念,用于更好地解决 Pod 的编排问题。为此, Deployment 在内部使用了 Replica Set 来实现目的。
Deployment 相对于 RC 的一个最大升级是我们可以随时知道当前 Pod “部署”的进度。实际上由于一个 Pod 的创建、调度、绑定节点及在目标 Node 上启动对应的容器这一完整过程需要一定的时间,所以我们期待系统启动 N 个 Pod 副本的目标状态,实际上是一个连续变化的“部署过程”导致的最终状态。
Deployment 的典型使用场景有以下几个:
创建一个 Deployment 对象来生成对应的 Replica Set 并完成 Pod 副本的创建。
检查 Deployment 的状态查看部署动作是否完成(Pod 副本数量是否达到预期的值)。
更新 Deployment 以创建新的 Pod(比如镜像升级)。
如果当前 Deployment 不稳定,则回滚到一个早先的 Deployment 版本。
暂停 Deployment 以便于一次性修改多个 PodTemplateSpec 的配置项,之后再恢复 Deployment,进行新的发布。
扩展 Deployment 以应对高负载。
查看 Deployment 的状态,以此作为发布是否成功的指标。
清理不再需要的旧版本 ReplicaSet。
除了 API 声明与 Kind 类型等有所区别,Deployment 的定义与 Replica Set 的定义很类似。运行下述命令创建 Deployment:
最后更新于
这有帮助吗?