Skip to content
This repository has been archived by the owner on Dec 9, 2024. It is now read-only.

Knative Service invocation should use status.url instead of Istio IP #2

Open
bbrowning opened this issue Nov 15, 2019 · 3 comments
Open

Comments

@bbrowning
Copy link
Contributor

Knative Services should be invoked via the Service's status.url property instead of setting a host header and directly trying to hit the Istio ingress gateway. Not all Knative installations use Istio. Not all of the ones that do expose Istio directly to the internet via a LoadBalancer IP. Nor do all the ones that use Istio use the same service name and namespace as the hardcoded assumptions in the serverless-components/knative-serving repo.

Some Knative installations are not properly configured and the status.url of the Knative Service doesn't actually work. But, for properly configured ones, assuming you can directly talk to Istio is not a valid assumption.

@billfine
Copy link

Thanks @bbrowning. We'll take a look. Also, would love to chat re where we you think we should go with this project. Interested?

bbrowning added a commit to bbrowning/serverless-knative that referenced this issue Nov 16, 2019
This plumbs through the Knative Service URLs returned from
serverless-components/knative-serving#2 into
the CLI. This change depends on that
serverless-components/knative-serving one to get merged first and the
version bumped in package.json to provide the new Knative Service URLs.

This fixes serverless#3.

It partially addresses serverless#2 as well, but the actual function invocation
logic still tries the Istio IP if one is found. If not, it falls back
to directly using the Knative Service URL given.
@bbrowning
Copy link
Contributor Author

The PRs I opened here and in the serverless-components/knative-serving repo allow the serverless CLI to deploy Knative Services to an OpenShift 4 cluster as a regular (ie not cluster admin) user.

asciicast

@bbrowning
Copy link
Contributor Author

@billfine I'm happy to chat any time - I'll reach out on the serverless-contrib Slack.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants