[英]Argo Events: Exposing Webhook Through a K8s Load Balancer on Azure Subnet
我正在嘗試通過 K8s 負載均衡器將 POST 請求路由到 Argo Events 中的 Webhook。 我找不到任何明確的文檔。 我能夠創建 Webhook,並且當我移植 webhook-eventsource-svc 時,我可以成功地與它通信。 負載均衡器構建良好並顯示我分配的外部 IP。 但是,當我嘗試 POST 到負載均衡器時,我只會收到連接超時錯誤。 我希望我只是錯誤地配置了這些清單。
這是兩個服務的清單。
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
有什么建議么?
我正在嘗試在 AWS 中做類似的事情。 我可以讓示例 webhook 與端口轉發一起使用 ( https://argoproj.github.io/argo-events/quick_start/ ) 但它不適用於常規 K8s 對象。 在我的例子中,一個 Ingress 和一個 Service 對象。 我可以看到我的服務選擇器正確選擇了 webhook 傳感器吊艙。 Argo Events 和 Argo Workflow 都在同一個 argo 命名空間中運行。 配置完成后,從 Postman 訪問 Ingress 會返回 404。令我感到困惑的是,示例中傳感器 pod 暴露的實際端口是 7777,而不是 12000。因此,我嘗試使用端口 12000 / TargetPort 12000 或7777. 在任何一種情況下,POST 返回 404。
我可以指出這適用於您的情況,而我的情況是( https://argoproj.github.io/argo-events/eventsources/services/ )在第二段中它指出您必須從 EventSource 中刪除服務字段對象從端口轉發重構樣本。 希望能幫助到你。 我仍在努力完成這項工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.