You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#4734 introduces VirtualService/Gateway probing. The current implementation doesn't work when HTTP is disabled because it assumes that the Envoy pods can be probed directly over HTTP. In practice, knative-ingress-gateway is assumed to contain:
meaning Envoy will accept HTTP traffic on port 80 for any host. Therefore, we can probe the dummy rule added in #4734.
Unfortunately, this is not always true because:
Customers can edit the Gateway manually (manual TLS)
Knative can edit the Gateway automatically (auto TLS)
Customers can disable HTTP entirely or restrict it to specific hosts
The current probing implementation has to be updated to probe using the real hosts and not the dummy probe host. See #5032 for a sketch of the required work. Probing requests will go through the real data path, Envoy will add a K-Route-Hash header containing the hash of the VirtualService/Gateway. If K-Network-Probe header is present, Queue-Proxy and Activator will return the value of K-Route-Hash in a header with HTTP 200, otherwise, will strip the K-Route-Hash header and process the request. This way, StatusProber can figure out what version of the VirtualService/Gateway is being used by Envoy.
In what area(s)?
/area networking
Describe the feature
#4734 introduces VirtualService/Gateway probing. The current implementation doesn't work when HTTP is disabled because it assumes that the Envoy pods can be probed directly over HTTP. In practice,
knative-ingress-gateway
is assumed to contain:meaning Envoy will accept HTTP traffic on port 80 for any host. Therefore, we can probe the dummy rule added in #4734.
Unfortunately, this is not always true because:
The current probing implementation has to be updated to probe using the real hosts and not the dummy probe host. See #5032 for a sketch of the required work. Probing requests will go through the real data path, Envoy will add a
K-Route-Hash
header containing the hash of the VirtualService/Gateway. IfK-Network-Probe
header is present,Queue-Proxy
andActivator
will return the value ofK-Route-Hash
in a header with HTTP 200, otherwise, will strip theK-Route-Hash
header and process the request. This way, StatusProber can figure out what version of the VirtualService/Gateway is being used by Envoy.Work Items
The text was updated successfully, but these errors were encountered: