Broker-Trigger配置出现address not set错误求助(Event Display相关)
问题描述
- 服务
event-display-task1基于Go版Event Display构建,运行无异常 - 服务
event-display-task2基于GitHub示例eventing/event-display/csharp构建镜像,但配置关联Triggertrigger-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
解决建议
检查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确认应用端口配置
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: <你的应用实际端口>验证服务地址生成状态
检查服务的status.address.url字段是否存在:kubectl get ksvc event-display-task2 -n knative-serving -o jsonpath='{.status.address.url}'若该字段为空,说明服务未完成就绪流程,需先解决服务本身的问题。
重置服务状态
若服务状态异常,可尝试重启服务触发就绪流程:kubectl rollout restart ksvc event-display-task2 -n knative-serving
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

