9.5.2. Kubernetes Deployments 和部署配置
由于在 Kubernetes 1.2 中添加了部署之前,OpenShift Container Platform 中存在部署配置,因此后者的对象类型与之前稍有的稍有不同。OpenShift Container Platform 中的长期目标是访问 Kubernetes 部署中的完整功能奇偶校验,并通过应用程序将其切换到使用单一的对象类型来提供精细管理。
支持 Kubernetes 部署,以确保使用新对象类型的上游项目和示例可以在 OpenShift Container Platform 上平稳运行。根据当前的 Kubernetes 部署功能集,如果不计划使用以下任一操作,则在 OpenShift Container Platform 中使用它们而不是部署配置:
以下部分详细阐述两种对象类型之间的区别,以进一步协助您决定何时想通过部署配置使用 Kubernetes 部署。
9.5.2.1. 部署配置特定功能
9.5.2.1.1. 自动回滚
Kubernetes 部署不支持在出现故障时自动回滚到上次成功部署的副本集。此功能会很快被添加。
9.5.2.1.2. 触发器
Kubernetes 部署有一个隐式 ConfigChange
触发器,每次更改部署的 Pod 模板都会自动触发新的推出部署。如果您不想在 Pod 模板更改时进行新的推出部署,请暂停部署:
$ oc rollout pause deployments/<name>
目前,Kubernetes 部署不支持 ImageChange
触发器。上游建议了一个通用触发机制,但如果它被接受,则代表未知。最终,OpenShift Container Platform 的特定机制可以实施为 Kubernetes 部署之上的层,但最好作为 Kubernetes 内核的一部分存在。
9.5.2.1.3. 生命周期 Hook
Kubernetes 部署不支持任何生命周期 hook。
9.5.2.1.4. 自定义策略
Kubernetes 部署尚不支持用户指定的自定义部署策略。
9.5.2.1.5. Canary 部署
Kubernetes 部署还没有作为新推出部署的一部分运行。
9.5.2.1.6. 测试部署
Kubernetes 部署不支持运行测试跟踪。