-
Bug
-
Resolution: Done
-
Blocker
-
1.3.0, 1.4.0
-
None
-
Serverless Sprint 178
Having an inmemorychannel sinked into a knative serving Service fails with the dispatcher unable to connect to the cluster-local-gateway (in knative-serving-ingress )
{"level":"error","ts":"2019-12-17T14:47:02.079Z","logger":"inmemorychannel_dispatcher.in-memory-channel-dispatcher","caller":"fanout/fanout_handler.go:120","msg":"Fanout had an error","knative.dev/controller":"in-memory-channel-dispatcher ","error":"unable to complete request to http://event-display.foobar.svc.cluster.local: Post http://event-display.foobar.svc.cluster.local: dial tcp 172.30.219.140:80: i/o timeout","stacktrace":"knative.dev/eventing/pkg/channel/fanout.(*H andler).dispatch\n\t/go/src/knative.dev/eventing/pkg/channel/fanout/fanout_handler.go:120\nknative.dev/eventing/pkg/channel/fanout.createReceiverFunction.func1.1\n\t/go/src/knative.dev/eventing/pkg/channel/fanout/fanout_handler.go:94"}
Reproducer
apiVersion: sources.eventing.knative.dev/v1alpha1 kind: ContainerSource metadata: name: test-heartbeats spec: template: spec: containers: - image: docker.io/matzew/kube-heartbeat name: heartbeats args: - --period=1 env: - name: POD_NAME value: "mypod" - name: POD_NAMESPACE value: "event-test" sink: apiVersion: messaging.knative.dev/v1alpha1 kind: InMemoryChannel name: channel --- apiVersion: serving.knative.dev/v1 kind: Service metadata: name: event-display spec: template: spec: containers: - image: gcr.io/knative-releases/github.com/knative/eventing-sources/cmd/event_display --- apiVersion: messaging.knative.dev/v1alpha1 kind: InMemoryChannel metadata: name: channel --- apiVersion: messaging.knative.dev/v1alpha1 kind: Subscription metadata: name: subscription spec: channel: apiVersion: messaging.knative.dev/v1alpha1 kind: InMemoryChannel name: channel subscriber: ref: apiVersion: serving.knative.dev/v1 kind: Service name: event-display ---
Workaround
oc create -f - <<EOF apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: cluster-local-gateway namespace: knative-serving-ingress spec: ingress: - from: - namespaceSelector: {} podSelector: matchLabels: istio: cluster-local-gateway policyTypes: - Ingress EOF