1.15. Red Hat OpenShift Pipelines 技术预览 1.1 发行注记
1.15.1. 新功能 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Red Hat OpenShift Pipelines 技术预览(TP)1.1 现在包括在 OpenShift Container Platform 4.5 中。Red Hat OpenShift Pipelines TP 1.1 更新为支持:
- Tekton Pipelines 0.14.3
-
Tekton
tknCLI 0.11.0 - Tekton Triggers 0.6.1
- 基于 Tekton Catalog 0.14 的集群任务
除了包括修复和稳定性改进的信息外,以下小节突出介绍了 Red Hat OpenShift Pipelines 1.1 中的新内容。
1.15.1.1. Pipelines 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 现在可以使用工作区而不是管道资源。建议您在 OpenShift Pipelines 中使用 Workspaces 而不是 PipelineResources,因为 PipelineResources 很难调试,范围有限,且不容易重复使用。如需有关 Workspaces 的更多信息,请参阅了解 OpenShift Pipelines。
添加了对卷声明模板的工作空间支持:
- 管道运行和任务运行的卷声明模板现在可以添加为工作区的卷源。然后,tkton-controller 使用模板创建一个持久性卷声明(PVC),该模板被视为管道中运行的所有任务的 PVC。因此,您不需要在每次绑定多个任务的工作空间时都定义 PVC 配置。
- 当卷声明模板用作卷源时,支持使用变量替换来查找 PVC 名称。
支持改进的审核:
-
PipelineRun.Status字段现在包含管道中运行的每个任务的状态,以及用于实例化用于监控管道运行进度的管道规格。 -
Pipeline 结果已添加到 pipeline 规格和
PipelineRun状态中。 -
TaskRun.Status字段现在包含用于实例化TaskRun资源的具体任务规格。
-
- 支持在条件中应用默认参数。
-
现在,通过引用集群任务创建的任务运行会添加
tekton.dev/clusterTask标签,而不是tekton.dev/task标签。 -
kube config writer 现在在资源结构中添加了
ClientKeyData和ClientCertificateData配置,以便使用 kubeconfig-creator 任务替换 pipeline 资源类型集群。 -
现在,
feature-flags和config-defaults配置映射的名称可以自定义。 - 现在,在任务运行使用的 pod 模板中支持主机网络。
- 现在,可以使用 Affinity Assistant 支持任务运行中共享工作空间卷的节点关联性。默认情况下,这在 OpenShift Pipelines 上被禁用。
-
Pod 模板已更新,使用
imagePullSecrets指定在启动一个 pod 时,容器运行时用来拉取容器镜像的 secret。 - 如果控制器无法更新任务运行,则支持从任务运行控制器发出警告事件。
- 在所有资源中添加了标准或者推荐的 k8s 标签,以标识属于应用程序或组件的资源。
-
现在,
Entrypoint进程被通知有信号,然后这些信号会使用一个Entrypoint进程的专用 PID 组来传播这些信号。 - pod 模板现在可以在运行时使用任务运行 specs 在任务级别设置。
支持放出 Kubernetes 事件:
-
控制器现在会为其他任务运行生命周期事件发出事件 -
taskrun started和taskrun running。 - 频道运行控制器现在会在管道每次启动时放出一个事件。
-
控制器现在会为其他任务运行生命周期事件发出事件 -
- 除了默认的 Kubernetes 事件外,现在还提供对任务运行的支持。可将控制器配置为发送任何任务运行事件(如创建、启动和失败)作为云事件。
-
支持使用
$context.<task|taskRun|pipelineRun>.name变量来引用管道运行和任务运行时的适当名称。 - 现在提供了管道运行参数的验证,以确保管道运行提供了管道所需的所有参数。这也允许管道运行在所需参数之外提供额外的参数。
-
现在,您可以使用管道 YAML 文件中的
finally字段指定管道中的任务,这些任务会在管道退出前始终执行。 -
git-clone集群任务现在可用。
1.15.1.2. Pipelines CLI 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
-
tkn dlistener describe命令现在可以支持内嵌触发器绑定。 - 支持在使用不正确的子命令时推荐子命令并给出建议。
-
现在,如果管道中只有一个任务存在,
tkn task describe命令会自动选择该任务。 -
现在您可以使用默认参数值启动任务,方法是在
tkn task start命令中指定--use-param-defaults标记。 -
现在,您可以使用
tkn pipeline start或tkn task start命令的--workspace选项为管道运行或任务指定卷声明模板。 -
tkn pipelinerun logs命令现在会显示finally部分中列出的最终任务的日志。 -
现在,为
tkn task start命令提供了互动模式支持,并为以下tkn资源提供describe子命令:pipeline,PipelineRun、task、taskrun、clustertask和pipelineresource。 -
tkn version命令现在显示集群中安装的触发器版本。 -
tkn pipeline describe命令现在显示为频道中使用的任务指定的参数值和超时。 -
添加了对
tkn pipelinerun describe和tkn taskrun describe命令的--last选项的支持,以分别描述最新的频道运行或任务运行。 -
tkn pipeline describe命令现在显示管道中适用于任务的条件。 -
现在,您可以在
tkn resource list命令中使用--no-headers和--all-namespaces标记。
1.15.1.3. 触发器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
现在以下通用表达式语言(CEL)功能可用:
-
parseURL用来解析和提取一个 URL 的部分内容 -
parseJSON用来解析嵌入在deploymentwebhook 中的payload字段中的字符串中的 JSON 值类型
-
- 添加了来自 Bitbucket 的 webhook 的新拦截器。
-
现在,在使用
kubectl get列出时,事件监听器会显示Address URL和Available status作为额外的项。 -
触发器模板参数现在使用
$(tt.params.<paramName>)语法而不是$(params.<paramName>)来减少触发器模板和资源模板参数之间的混淆。 -
现在,您可以在
EventListenerCRD 中添加容限,以确保事件监听程序使用相同的配置,即使所有节点都因为安全或管理问题而产生污点也是如此。 -
现在,您可以在
URL/live中为事件监听器添加就绪探测(Readiness Probe)。 -
现在,添加了对在事件监听器触发器中嵌入
TriggerBinding规格的支持。 -
触发器资源现在附带推荐的
app.kubernetes.io标签注解。
1.15.2. 已弃用的功能 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本发行版本中已弃用了以下内容:
-
所有集群范围命令(包括
clustertask和clustertriggerbinding命令)的--namespace或-n标志都已弃用。它将在以后的发行版本中被删除。 -
事件监听器中的
triggers.bindings中的name字段已弃用。现在使用ref字段替代,并将在以后的发行版本中删除。 -
使用
$(params)的触发器模板中的变量插值已经被弃用,现在使用$(tt.params)来减少与管道变量插入语法的混乱。在以后的发行版本中会删除$(params.<paramName>)语法。 -
在集群任务中弃用了
tekton.dev/task标签。 -
TaskRun.Status.ResourceResults.ResourceRef字段已弃用,并将被删除。 -
tkn pipeline create、tkn task create和tkn resource create -f子命令已被删除。 -
从
tkn命令中删除了命名空间验证。 -
tkn ct start命令中的默认超时时间(1h)以及-t标志已被删除。 -
s2i集群任务已弃用。
1.15.3. 已知问题 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 条件(Conditions)不支持工作区。
-
tkn clustertask start命令不支持--workspace选项和互动模式。 -
支持
$(params.<paramName>)语法的向后兼容性会强制您使用带有特定管道参数的触发器模板,因为触发器 s Webhook 无法将触发器参数与管道参数区分开。 -
当针对
tekton_taskrun_count和tekton_taskrun_duration_seconds_count运行一个 promQL 查询时,Pipeline metrics 会报告不正确的值。 -
当为一个工作区指定了一个不存在的 PVC 名称时,管道运行和任务运行会维持在
Running和Running(Pending)的状态。
1.15.4. 修复的问题 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
-
在以前的版本中,如果任务和集群任务的名称是相同的,则
tkn task delete <name> --trs命令会同时删除 Task 和 ClusterTask。在这个版本中,该命令只删除任务<name>创建的任务运行。 -
以前,
tkn pr delete -p <name> --keep 2命令会在使用--keep是忽略-p标志,并将删除除最后两个以外的所有管道运行。在这个版本中,命令只删除由管道<name>创建的管道运行,但最后两个除外。 -
tkn triggertemplate describe输出现在以表格式而不是 YAML 格式显示资源模板。 -
在以前的版本中,当一个新用户添加到容器时,
buildah集群任务会失败。在这个版本中,这个问题已被解决。