我试图通过K8s负载均衡器将POST请求路由到Argo中的Webhook。我找不到任何关于这个的清晰文件。我能够创建Web钩子,当我转发web钩子事件源-svc时,我可以成功地与它通信。负载均衡器构建得很好,并显示了我分配的外部IP。然而,当我试图发布到负载均衡器时,我只会得到一个连接超时错误。我希望我只是把这些清单配置错了。
这是这两种服务的清单。
apiVersion: argoproj.io/v1alpha1
kind: EventSource
metadata:
name: webhook
namespace: argo-events
spec:
service:
ports:
- port: 12000
targetPort: 12000
webhook:
example:
endpoint: /deploy
method: POST
port: "12000"
---
apiVersion: v1
kind: Service
metadata:
name: webhook-loadbalancer
namespace: argo-events
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
service.beta.kubernetes.io/azure-load-balancer-internal-subnet: DevelopSubnet
spec:
type: LoadBalancer
loadBalancerIP: 1XX.X.X.XXX
ports:
- protocol: TCP
port: 90
targetPort: 12000
selector:
app: webhook-eventsource-svc
controller: eventsource-controller以下是我发送请求的方式:
curl -d '@params.json' -H "Content-Type: application/json" -X POST http://1XX.X.X.XXX:90/deploy有什么建议吗?
发布于 2022-05-17 20:34:43
我想在AWS中做一些类似的事情。我可以让样例web钩子使用端口转发(https://argoproj.github.io/argo-events/quick_start/),但是它不能处理常规的K8s对象。在我的例子中,是一个进题和一个服务对象。我可以看到我的服务选择器正确地选择网钩传感器吊舱。Argo事件和Argo都在同一个argo命名空间中运行。配置完毕后,从邮递员访问该侵入的权限将返回404。我发现令人困惑的是,传感器吊舱公开的实际端口是7777,而不是12000。因此,我尝试了端口12000 / TargetPort 12000或7777的服务。在这两种情况下,POST都返回404。
我可以指出适用于您和我的情况的是第二段中的这个(https://argoproj.github.io/argo-events/eventsources/services/),它说明您必须从您的EventSource对象中删除服务字段,以便从端口转发中重构示例。希望能帮上忙。我还在努力让这件事成功。
https://stackoverflow.com/questions/69260048
复制相似问题