1.18. Red Hat OpenShift Pipelines 技术预览 1.0 发行注记


1.18.1. 新功能

Red Hat OpenShift Pipelines 技术预览(TP)1.0 现在包括在 OpenShift Container Platform 4.4 中。Red Hat OpenShift Pipelines TP 1.0 更新为支持:

  • Tekton Pipelines 0.11.3
  • Tekton tkn CLI 0.9.0
  • Tekton Triggers 0.4.0
  • 基于 Tekton Catalog 0.11 的集群任务

除了包括修复和稳定性改进的信息外,以下小节突出介绍了 Red Hat OpenShift Pipelines 1.0 中的新内容。

1.18.1.1. Pipelines

  • 支持 v1beta1 API 版本。
  • 支持改进的限制范围。在以前的版本中,限制范围仅为任务运行和管道运行指定。现在不需要显式指定限制范围。使用命名空间中的最小限制范围。
  • 支持使用任务结果和任务参数在任务间共享数据。
  • 现在,管道可以被配置为不覆盖 HOME 环境变量和步骤的工作目录。
  • 与任务步骤类似,sidecar 现在支持脚本模式。
  • 现在,您可以在任务运行 podTemplate 资源中指定不同的调度程序名称。
  • 支持使用 Star Array Notation 替换变量。
  • Tekton 控制器现在可以配置为监控单个命名空间。
  • 现在,在管道、任务、集群任务、资源和条件规格中添加了一个新的 description 字段。
  • 在 Git pipeline 资源中添加代理参数。

1.18.1.2. Pipelines CLI

  • 现在为以下 tkn 资源添加了 describe 子命令: EventListenerConditiontriggerTemplateClusterTaskTriggerSBinding
  • 在以下资源中添加 v1beta1 支持以及 v1alpha1 的向后兼容性: ClusterTaskTaskPipelinePipelineRunTaskRun
  • 以下命令现在可以使用 --all-namespaces 标志选项列出所有命名空间的输出结果: tkn task listtkn pipeline listtkn taskrun listtkn pipelinerun list

    这些命令的输出也可以通过 --no-headers 选项在没有标头的情况下显示信息。

  • 现在您可以使用默认参数值启动管道,方法是在 tkn pipelines start 命令中指定 --use-param-defaults 标记。
  • 现在,在 tkn pipeline starttkn task start 命令中增加了对工作区的支持。
  • 现在增加了一个新命令 clustertriggerbinding,它带有以下子命令:describedeletelist
  • 现在,您可以使用本地或远程 yaml 文件直接启动管道运行。
  • describe 子命令现在显示一个改进的详细输出。现在,除了新的项,如 descriptiontimeoutparam descriptionsidecar status,命令输出还提供了关于一个特定 tkn 资源的更详细的信息。
  • 现在,如果命名空间中只有一个任务,tkn task log 命令会直接显示日志。

1.18.1.3. 触发器

  • 现在触发器可以同时创建 v1alpha1v1beta1 管道资源。
  • 支持新的通用表达式语言(CEL)拦截器功能 - compareSecret。此功能安全地将字符串与 CEL 表达式中的 secret 进行比较。
  • 支持在事件监听器触发器级别进行身份验证和授权。

1.18.2. 已弃用的功能

本发行版本中已弃用了以下内容:

  • Steps 规格中的环境变量 $HOME,变量 workingDir 已被弃用,并可能在以后的发行版本中有所变化。目前,在 Step 容器中,HOMEworkingDir 变量会分别被 /tekton/home/workspace 变量覆盖。

    在以后的发行版本中,这两个字段将不会被修改,它将被设置为容器镜像和 Task YAML 中定义的值。在本发行版本中,使用 disable-home-env-overwritedisable-working-directory-overwrite 标记来禁用覆盖 HOMEworkingDir 变量。

  • 以下命令已弃用,并可能在以后的发行版本中删除: tkn pipeline createtkn task create
  • tkn resource create 命令中使用 -f 标志现已弃用。以后的发行版本中可能会删除它。
  • tkn clustertask create 命令中的 -t 标记和 --timeout 标记(使用秒格式)现已被弃用。现在只支持持续超时格式,例如 1h30s。这些已弃用的标记可能会在以后的版本中删除。

1.18.3. 已知问题

  • 如果您要从 Red Hat OpenShift Pipelines 的旧版本升级,则必须删除您现有的部署,然后再升级到 Red Hat OpenShift Pipelines 版本 1.0。要删除现有的部署,您必须首先删除自定义资源,然后卸载 Red Hat OpenShift Pipelines Operator。如需了解更多详细信息,请参阅卸载 Red Hat OpenShift Pipelines 部分。
  • 提交相同的 v1alpha1 任务多次会导致错误。在重新提交一个 v1alpha1 任务时,使用 oc replace 命令而不是 oc apply
  • 当一个新用户添加到容器时,buildah 集群任务无法正常工作。

    当安装 Operator 时,buildah 集群任务的 --storage-driver 标志没有指定,因此它会被设置为默认值。在某些情况下,这会导致存储驱动程序设置不正确。当添加一个新用户时,错误的 storage-driver 会造成 buildah 集群任务失败并带有以下错误:

    useradd: /etc/passwd.8: lock file already used
    useradd: cannot lock /etc/passwd; try again later.

    作为临时解决方案,在 buildah-task.yaml 文件中手工把 --storage-driver 标识的值设置为 overlay

    1. cluster-admin 身份登录到集群:

      $ oc login -u <login> -p <password> https://openshift.example.com:6443
    2. 使用 oc edit 命令编辑 buildah 集群任务:

      $ oc edit clustertask buildah

      buildah clustertask YAML 文件的最新版本会在由 EDITOR 环境变量指定的编辑器中打开。

    3. Steps 字段中找到以下 command 字段:

       command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']
    4. 使用以下内容替换 command 字段:

       command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']
    5. 保存文件并退出。

    另外,您还可以直接在 web 控制台中直接修改 buildah 集群任务 YAML 文件:进入 Pipelines Cluster Tasks buildah。从 Actions 菜单中选择 Edit Cluster Task,如前所示替换 command 项。

1.18.4. 修复的问题

  • 在以前的版本中,即使镜像构建已在进行中,DeploymentConfig 任务也会触发新的部署构建。这会导致管道部署失败。在这个版本中,deploy task 命令被 oc rollout status 命令替代,它会等待正在进行中的部署完成。
  • 现在在管道模板中添加了对 APP_NAME 参数的支持。
  • 在以前的版本中,Java S2I 的管道模板无法在 registry 中查找镜像。在这个版本中,使用现有镜像管道资源而不是用户提供的 IMAGE_NAME 参数来查找镜像。
  • 所有 OpenShift Pipelines 镜像现在都基于 Red Hat Universal Base Images(UBI)。
  • 在以前的版本中,当管道在 tekton-pipelines 以外的命名空间中安装时,tkn version 命令会将管道版本显示为 unknown 。在这个版本中,tkn version 命令会在任意命名空间中显示正确的管道版本。
  • tkn version 命令不再支持 -c 标志。
  • 非管理员用户现在可以列出集群触发器绑定。
  • 现在为 CEL 拦截器修复了事件监听程序 CompareSecret 功能。
  • 现在,当任务和集群任务的名称相同时,任务和集群任务的 listdescribestart 子命令可以正确地显示输出。
  • 在以前的版本中,OpenShift Pipelines Operator 修改了特权安全性上下文约束 (SCC),这会在集群升级过程中造成错误。这个错误现已解决。
  • tekton-pipelines 命名空间中,现在将所有任务运行和管道运行的超时设置为使用配置映射的 default-timeout-minutes 字段。
  • 在以前的版本中,Web 控制台中的管道部分没有为非管理员用户显示。这个问题现已解决。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.