1.15. Red Hat OpenShift Pipelines 技术预览 1.0 发行注记
1.15.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
tknCLI 0.9.0 - Tekton Triggers 0.4.0
- 基于 Tekton Catalog 0.11 的集群任务
除了包括修复和稳定性改进的信息外,以下小节突出介绍了 Red Hat OpenShift Pipelines 1.0 中的新内容。
1.15.1.1. Pipelines 复制链接链接已复制到粘贴板!
- 支持 v1beta1 API 版本。
- 支持改进的限制范围。在以前的版本中,限制范围仅为任务运行和管道运行指定。现在不需要显式指定限制范围。使用命名空间中的最小限制范围。
- 支持使用任务结果和任务参数在任务间共享数据。
-
现在,管道可以被配置为不覆盖
HOME环境变量和步骤的工作目录。 -
与任务步骤类似,
sidecar现在支持脚本模式。 -
现在,您可以在任务运行
podTemplate资源中指定不同的调度程序名称。 - 支持使用 Star Array Notation 替换变量。
- Tekton 控制器现在可以配置为监控单个命名空间。
- 现在,在管道、任务、集群任务、资源和条件规格中添加了一个新的 description 字段。
- 在 Git pipeline 资源中添加代理参数。
1.15.1.2. Pipelines CLI 复制链接链接已复制到粘贴板!
-
现在为以下
tkn资源添加了describe子命令:EventListener、Condition、triggerTemplate、ClusterTask和TriggerSBinding。 -
在以下资源中添加
v1beta1支持以及v1alpha1的向后兼容性:ClusterTask、Task、Pipeline、PipelineRun和TaskRun。 以下命令现在可以使用
--all-namespaces标志选项列出所有命名空间的输出结果:tkn task list、tkn pipeline list、tkn taskrun list和tkn pipelinerun list这些命令的输出也可以通过
--no-headers选项在没有标头的情况下显示信息。-
现在您可以使用默认参数值启动管道,方法是在
tkn pipelines start命令中指定--use-param-defaults标记。 -
现在,在
tkn pipeline start和tkn task start命令中增加了对工作区的支持。 -
现在增加了一个新命令
clustertriggerbinding,它带有以下子命令:describe、delete和list。 -
现在,您可以使用本地或远程
yaml文件直接启动管道运行。 -
describe子命令现在显示一个改进的详细输出。现在,除了新的项,如description、timeout、param description和sidecar status,命令输出还提供了关于一个特定tkn资源的更详细的信息。 -
现在,如果命名空间中只有一个任务,
tkn task log命令会直接显示日志。
1.15.1.3. 触发器 复制链接链接已复制到粘贴板!
-
现在触发器可以同时创建
v1alpha1和v1beta1管道资源。 -
支持新的通用表达式语言(CEL)拦截器功能 -
compareSecret。此功能安全地将字符串与 CEL 表达式中的 secret 进行比较。 - 支持在事件监听器触发器级别进行身份验证和授权。
1.15.2. 已弃用的功能 复制链接链接已复制到粘贴板!
本发行版本中已弃用了以下内容:
Steps规格中的环境变量$HOME,变量workingDir已被弃用,并可能在以后的发行版本中有所变化。目前,在Step容器中,HOME和workingDir变量会分别被/tekton/home和/workspace变量覆盖。在以后的发行版本中,这两个字段将不会被修改,它将被设置为容器镜像和
TaskYAML 中定义的值。在本发行版本中,使用disable-home-env-overwrite和disable-working-directory-overwrite标记来禁用覆盖HOME和workingDir变量。-
以下命令已弃用,并可能在以后的发行版本中删除:
tkn pipeline create、tkn task create。 -
在
tkn resource create命令中使用-f标志现已弃用。以后的发行版本中可能会删除它。 -
tkn clustertask create命令中的-t标记和--timeout标记(使用秒格式)现已被弃用。现在只支持持续超时格式,例如1h30s。这些已弃用的标记可能会在以后的版本中删除。
1.15.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.
useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作为临时解决方案,在
buildah-task.yaml文件中手工把--storage-driver标识的值设置为overlay:以
cluster-admin身份登录到集群:oc login -u <login> -p <password> https://openshift.example.com:6443
$ oc login -u <login> -p <password> https://openshift.example.com:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
oc edit命令编辑buildah集群任务:oc edit clustertask buildah
$ oc edit clustertask buildahCopy to Clipboard Copied! Toggle word wrap Toggle overflow buildahclustertask YAML 文件的最新版本会在由EDITOR环境变量指定的编辑器中打开。在
Steps字段中找到以下command字段:command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']
command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容替换
command字段:command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']
command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存文件并退出。
另外,您还可以直接在 web 控制台中直接修改
buildah集群任务 YAML 文件:进入 PipelinesCluster Tasks buildah。从 Actions 菜单中选择 Edit Cluster Task,如前所示替换 command项。
1.15.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功能。 -
现在,当任务和集群任务的名称相同时,任务和集群任务的
list、describe和start子命令可以正确地显示输出。 - 在以前的版本中,OpenShift Pipelines Operator 修改了特权安全性上下文约束 (SCC),这会在集群升级过程中造成错误。这个错误现已解决。
-
在
tekton-pipelines命名空间中,现在将所有任务运行和管道运行的超时设置为使用配置映射的default-timeout-minutes字段。 - 在以前的版本中,Web 控制台中的管道部分没有为非管理员用户显示。这个问题现已解决。