-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support exec
readinessProbes for sidecar serving containers
#15484
Comments
@skonto Can I have your input on this please ? |
@ReToCode Can I have your input on this issue please ? |
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale |
Thanks @skonto . The documentation explains in more detail what I noticed in the code. At the moment , the exec probe on the main container is delegate to Kubernetes. In that case the QP rely on a TCP probe to the exposed port of the main container. When a exec probe is defined on a sidecar container it is just ignored. Would it be a good idea to also delegate the exec probe to Kubernetes when defined on sidecar containers ? The QP won't have a TCP Probe to rely on in that case, but that won't be an issue since no traffic should be directly forwarded to the sidecar container. |
I think this is the path forward. If there is any exec probes in the Pod we should just defer to kubernetes to signal the health of that Pod and avoid any optimizations that we have. We already do this with exec probes on the main container /triage accepted |
Knative version v1.15.0
Expected Behavior
The Knative serving supports the
exec readiness probes
for serving sidecar containers.I call serving sidecar containers the containers that didn't have the port defined.
Actual Behavior
The knative serving reconciler triggers an error because the
exec
readiness probe is not supported in the serving sidecar containers. It is due to the fact that the applyReadinessProbeDefaults is used to compute the probes for the main and sidecar serving containers. The function needs a port to create aTCPProbe
in thequeue container
. ThatTCPProbe
is required for serving containersexec readiness probes
.Question : Why do we need to have a
TCP Probe
on the queue container for theexec probes of the serving containers
?Reflection : If ports definition were allowed for sidecar containers, this issue would be trivial to fix. I see that an issue is open for but is on ice for a while.
Contribution: I can help fixing the issue when we will decide on a common implementation.
Steps to Reproduce the Problem
knative serving
with thisyaml
:kubectl events -n <namespace>
you will see an error similar as :The text was updated successfully, but these errors were encountered: