3.6.4. 部署和部署配置


在复制控制器的基础上,OpenShift Container Platform 添加了对软件开发和部署生命周期的支持以及部署的概念。在最简单的情形中,部署仅创建一个新复制控制器,并允许它启动 pod。但是,OpenShift Container Platform 部署也提供从镜像的现有部署过渡到新部署的功能,还可定义要在创建复制控制器之前或之后运行的 hook。

OpenShift Container Platform DeploymentConfig 对象定义以下部署详情:

  1. ReplicationController 定义的元素。
  2. 自动创建新部署的触发器。
  3. 在部署之间过渡的策略。
  4. 生命周期 Hook.

每次触发部署时,无论是手动还是自动,部署器 Pod 均管理部署(包括缩减旧复制控制器、扩展新复制控制器以及运行 hook)。部署 pod 在完成部署后会无限期保留,以便保留其部署日志。当部署被另一个部署替换时,以前的复制控制器会被保留,以便在需要时轻松回滚。

有关如何创建和与部署交互的详细信息,请参阅 Deployment

以下是含有一些省略和标注的 DeploymentConfig 定义示例:

apiVersion: v1
kind: DeploymentConfig
metadata:
  name: frontend
spec:
  replicas: 5
  selector:
    name: frontend
  template: { ... }
  triggers:
  - type: ConfigChange 1
  - imageChangeParams:
      automatic: true
      containerNames:
      - helloworld
      from:
        kind: ImageStreamTag
        name: hello-openshift:latest
    type: ImageChange  2
  strategy:
    type: Rolling      3
1
ConfigChange 触发器会在复制控制器模板更改时触发新部署的创建。
2
每当指定镜像流中有新版本的后备镜像可用时,ImageChange 触发器 会导致创建新部署。
3
默认的 Rolling 策略会在部署之间实现无停机过渡。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.