Allow direct ingress to knative services.#1517
Conversation
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
first stab at creating a delegate VS for ksvcs so we can skip a hop or two.
|
Welcome @treyhyde! It looks like this is your first PR to knative-extensions/net-istio 🎉 |
|
Hi @treyhyde. Thanks for your PR. I'm waiting for a knative-extensions member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test |
|
whoops |
…mated quality gate / lint issues
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: treyhyde The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1517 +/- ##
==========================================
+ Coverage 80.13% 81.91% +1.78%
==========================================
Files 23 23
Lines 1928 1543 -385
==========================================
- Hits 1545 1264 -281
+ Misses 289 183 -106
- Partials 94 96 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@treyhyde quick question - what does your istio installation look like? eg. are you using mesh or just the simple external ingress gateway + cluster local gateway? |
|
I think the meat of the delegate should just be (meaning we should trim it down to what the activator needs) route:
- destination:
host: hello-00001.default.svc.cluster.local
port:
number: 80
headers:
request:
set:
Knative-Serving-Namespace: default
Knative-Serving-Revision: hello-00001and then we point the other virtual services to this one. Note - to handle upgrades I think we should make sure we create the delegate first prior to updating other virtual services |
|
Oh this block should have the traffic splits too etc
…On Thu, Mar 5, 2026 at 20:28 Dave Protasowski ***@***.***> wrote:
*dprotaso* left a comment (knative-extensions/net-istio#1517)
<#1517 (comment)>
I think the meat of the delegate should just be (meaning we should trim it
down to what the activator needs)
route:
- destination:
host: hello-00001.default.svc.cluster.local
port:
number: 80
headers:
request:
set:
Knative-Serving-Namespace: default
Knative-Serving-Revision: hello-00001
and then we point the other virtual services to this one.
Note - to handle upgrades I think we should make sure we create the
delegate first prior to updating other virtual services
—
Reply to this email directly, view it on GitHub
<#1517 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAERAUJ6EMIOSWRSGGVUCL4PISVTAVCNFSM6AAAAACV6GNDRCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DAMBYHEYDAMBXGY>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Full mesh but the problem would be the same if I was using just a gateway. |
I tried to keep the change to just the minimal surface. I believe it creates the VS with exactly the same function as the other VSs but without the hosts. If we wanted to do a larger refactoring to base the other VSs on this delegate, we can do that too but it will increase the change surface. |
I think that's fair. Let's just put this change behind a config knob in our config-istio (with the default being off). See: https://github.com/knative-extensions/net-istio/blob/main/config/400-config-istio.yaml Let me know if you have any questions. |
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@treyhyde: The following tests failed, say
DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
Looks like you'll have to rebase |
Fixes #1003
Changes
/kind enhancement
Fixes #1003
Knative requires you to use an intermediate hop to a cluster local gateway.
Ingress VS (rewrite authority) -> cluster local gateways -> activator (optional) -> service
This change allows you to delegate your route directly to the service / activator
Ingress VS -> activator (optional) -> service
Release Note
Docs