You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Broker-Trigger配置出现address not set错误求助(Event Display相关)

问题描述
  • 服务event-display-task1基于Go版Event Display构建,运行无异常
  • 服务event-display-task2基于GitHub示例eventing/event-display/csharp构建镜像,但配置关联Trigger trigger-task2时出现以下错误:

address not set for &ObjectReference{Kind:Service,Namespace:knative-serving,Name:event-display-task2,UID:,APIVersion:serving.knative.dev/v1,ResourceVersion:,FieldPath:,}

关联Kubernetes配置

apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
  name: broker-tasks
  namespace: knative-serving
spec:
 config:
   apiVersion: v1
   kind: ConfigMap
   name: config-br-default-channel
   namespace: knative-eventing
   
---
apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: trigger-task1
  namespace: knative-serving
spec:
  broker: broker-tasks
  filter:
    attributes:
      type: task1
  subscriber:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: event-display-task1
---
apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: trigger-task2
  namespace: knative-serving
spec:
  broker: broker-tasks
  filter:
    attributes:
      type: task2
  subscriber:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: event-display-task2
---
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: event-display-task1
  namespace: knative-serving
spec:
  template:
    spec:
      containers:
        - image: gcr.io/knative-releases/knative.dev/eventing/cmd/event_display
---
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: event-display-task2
  namespace: knative-serving
spec:
  template:
    spec:
      containers:
      - name: serving-task
        image: acrnetasaas.azurecr.io/poc:0.0.27-test
解决建议
  1. 检查Knative Service就绪状态
    执行以下命令查看event-display-task2的状态:

    kubectl get ksvc event-display-task2 -n knative-serving
    

    确保STATUS列显示Ready。若状态异常,查看Pod日志排查容器启动或镜像拉取问题:

    kubectl logs -l serving.knative.dev/service=event-display-task2 -n knative-serving
    
  2. 确认应用端口配置
    Knative默认要求服务监听8080端口,需确保你的C#应用在镜像内正确监听该端口。若使用其他端口,需在Service配置中添加ports字段指定:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: event-display-task2
      namespace: knative-serving
    spec:
      template:
        spec:
          containers:
          - name: serving-task
            image: acrnetasaas.azurecr.io/poc:0.0.27-test
            ports:
            - containerPort: <你的应用实际端口>
    
  3. 验证服务地址生成状态
    检查服务的status.address.url字段是否存在:

    kubectl get ksvc event-display-task2 -n knative-serving -o jsonpath='{.status.address.url}'
    

    若该字段为空,说明服务未完成就绪流程,需先解决服务本身的问题。

  4. 重置服务状态
    若服务状态异常,可尝试重启服务触发就绪流程:

    kubectl rollout restart ksvc event-display-task2 -n knative-serving
    

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 03:32:06