6.4.4. Custom 策略


自定义(Custom)策略允许您提供自己的部署行为。

Custom 策略定义示例

kind: DeploymentConfig
apiVersion: apps.openshift.io/v1
metadata:
  name: example-dc
# ...
spec:
# ...
  strategy:
    type: Custom
    customParams:
      image: organization/strategy
      command: [ "command", "arg1" ]
      environment:
        - name: ENV_1
          value: VALUE_1

在上例中,organization/strategy 容器镜像提供部署行为。可选的 command 数组覆盖镜像的 Dockerfile 中指定的任何 CMD 指令。提供的可选环境变量添加到策略过程的执行环境中。

另外,Red Hat OpenShift Service on AWS 为部署过程提供以下环境变量:

Expand
环境变量描述

OPENSHIFT_DEPLOYMENT_NAME

新部署的名称,即复制控制器。

OPENSHIFT_DEPLOYMENT_NAMESPACE

新部署的命名空间。

新部署的副本数最初为零。该策略负责使新部署积极使用最能满足用户需求的逻辑。

另外,也可使用 customParams 对象将自定义部署逻辑注入现有的部署策略中。提供自定义 shell 脚本逻辑并调用 openshift-deploy 二进制文件。用户不必提供自定义的部署器容器镜像;默认的 Red Hat OpenShift Service on AWS deployer 镜像会被使用:

kind: DeploymentConfig
apiVersion: apps.openshift.io/v1
metadata:
  name: example-dc
# ...
spec:
# ...
  strategy:
    type: Rolling
    customParams:
      command:
      - /bin/sh
      - -c
      - |
        set -e
        openshift-deploy --until=50%
        echo Halfway there
        openshift-deploy
        echo Complete

这会产生以下部署:

Started deployment #2
--> Scaling up custom-deployment-2 from 0 to 2, scaling down custom-deployment-1 from 2 to 0 (keep 2 pods available, don't exceed 3 pods)
    Scaling custom-deployment-2 up to 1
--> Reached 50% (currently 50%)
Halfway there
--> Scaling up custom-deployment-2 from 1 to 2, scaling down custom-deployment-1 from 2 to 0 (keep 2 pods available, don't exceed 3 pods)
    Scaling custom-deployment-1 down to 1
    Scaling custom-deployment-2 up to 2
    Scaling custom-deployment-1 down to 0
--> Success
Complete

如果自定义部署策略过程需要访问 Red Hat OpenShift Service on AWS API 或 Kubernetes API,执行该策略的容器可以使用容器中的服务帐户令牌进行身份验证。

6.4.4.1. 使用 Developer 视角编辑部署

您可以使用 Developer 视角编辑部署的部署策略、镜像设置、环境变量和高级选项。

先决条件

  • 处于 web 控制台的 Developer 视角。
  • 您已创建了应用程序。

流程

  1. 导航到 Topology 视图。
  2. 点您的应用程序查看 Details 面板。
  3. Actions 下拉菜单中,选择 Edit Deployment 以查看 Edit Deployment 页面。
  4. 您可以为部署编辑以下高级选项

    1. 可选:您可以通过点 Pause rollouts 暂停推出部署,然后选择 Pause rollouts for this deployment 复选框。

      通过暂停推出部署,您可以在不触发推出部署的情况下对应用程序进行更改。您可以随时恢复推出部署。

    2. 可选:通过修改 Replicas 的数量,点 Scaling 以更改您的镜像实例数量。
  5. 点击 Save
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部