This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.9. 使用事件监听程序保护 Webhook
作为管理员,您可以使用事件监听程序保护 Webhook。创建命名空间后,您可以通过将 operator.tekton.dev/enable-annotation=enabled 标签添加到命名空间,为 Eventlistener 资源启用 HTTPS。然后,您可以使用重新加密的 TLS 终止创建 Trigger 资源和安全路由。
Red Hat OpenShift Pipelines 中的触发器支持不安全的 HTTP 和安全 HTTPS 连接到 Eventlistener 资源。HTTPS 保护集群内部和外部的连接。
Red Hat OpenShift Pipelines 运行 tekton-operator-proxy-webhook pod,用于监视命名空间中的标签。当您将标签添加到命名空间时,webhook 在 EventListener 对象上设置 service.beta.openshift.io/serving-cert-secret-name=<secret_name> 注解。这反过来会创建 secret 和所需的证书。
service.beta.openshift.io/serving-cert-secret-name=<secret_name>
service.beta.openshift.io/serving-cert-secret-name=<secret_name>
另外,您可以将创建的 secret 挂载到 Eventlistener pod 中,以保护请求。
4.9.1. 提供与 OpenShift 路由的安全连接 复制链接链接已复制到粘贴板!
要使用重新加密的 TLS 终止创建路由,请运行:
oc create route reencrypt --service=<svc-name> --cert=tls.crt --key=tls.key --ca-cert=ca.crt --hostname=<hostname>
$ oc create route reencrypt --service=<svc-name> --cert=tls.crt --key=tls.key --ca-cert=ca.crt --hostname=<hostname>
或者,您可以创建一个重新加密的 TLS 终止 YAML 文件来创建安全路由。
重新加密 TLS 终止 YAML 示例,以创建安全路由
您可以运行 oc create route reencrypt --help 命令显示更多选项。
4.9.2. 使用安全 HTTPS 连接创建示例 EventListener 资源 复制链接链接已复制到粘贴板!
本节使用 pipelines-tutorial 示例来演示使用安全 HTTPS 连接创建示例 EventListener 资源。
流程
从 pipelines-tutorial 存储库中的 YAML 文件创建
TriggerBinding资源:oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/master/03_triggers/01_binding.yaml
$ oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/master/03_triggers/01_binding.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从 pipelines-tutorial 存储库中的 YAML 文件创建
TriggerTemplate资源:oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/master/03_triggers/02_template.yaml
$ oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/master/03_triggers/02_template.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 直接从 pipelines-tutorial 存储库创建
Trigger资源:oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/master/03_triggers/03_trigger.yaml
$ oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/master/03_triggers/03_trigger.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用安全 HTTPS 连接创建
EventListener资源:添加一个标签,在 Eventlistener 资源中启用安全
HTTPS连接:oc label namespace <ns-name> operator.tekton.dev/enable-annotation=enabled
$ oc label namespace <ns-name> operator.tekton.dev/enable-annotation=enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从 pipelines-tutorial 存储库中的 YAML 文件创建
EventListener资源:oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/master/03_triggers/04_event_listener.yaml
$ oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/master/03_triggers/04_event_listener.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建带有重新加密 TLS 终止的路由:
oc create route reencrypt --service=<svc-name> --cert=tls.crt --key=tls.key --ca-cert=ca.crt --hostname=<hostname>
$ oc create route reencrypt --service=<svc-name> --cert=tls.crt --key=tls.key --ca-cert=ca.crt --hostname=<hostname>Copy to Clipboard Copied! Toggle word wrap Toggle overflow