8.6. 激活 Webhook 规则手册
在 Openshift 环境中,您可以通过创建一个提供规则手册激活的 Kubernetes 服务的路由来允许 Webhook 通过给定端口访问 activation-job-pod。
先决条件
- 您已创建了规则手册激活。
注意
以下是带有给定 Webhook 的 rulebook 示例:
- name: Listen for storage-monitor events hosts: all sources: - ansible.eda.webhook: host: 0.0.0.0 port: 5000 rules: - name: Rule - Print event information condition: event.meta.headers is defined action: run_job_template: name: StorageRemediation organization: Default job_args: extra_vars: message: from eda sleep: 1
流程
创建一个路由(在 OpenShift Container Platform 中)以公开服务。以下是 ansible-rulebook 源的 Route 示例,它要求 POST 在决策环境 pod 的端口 5000 上:
kind: Route apiVersion: route.openshift.io/v1 metadata: name: test-sync-bug namespace: dynatrace labels: app: eda job-name: activation-job-1-5000 spec: host: test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com to: kind: Service name: activation-job-1-5000 weight: 100 port: targetPort: 5000 tls: termination: edge insecureEdgeTerminationPolicy: Redirect wildcardPolicy: None
在创建路由时,使用 到 Route URL 的 Post 进行测试 :
curl -H "Content-Type: application/json" -X POST test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d '{}'
注意您不需要端口,因为它在 Route (targetPort) 上指定。