disallow exec probes for liveness and readiness checks#4086
disallow exec probes for liveness and readiness checks#4086joshrider wants to merge 1 commit intoknative:masterfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: joshrider If they are not already assigned, you can assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
knative-prow-robot
left a comment
There was a problem hiding this comment.
@joshrider: 0 warnings.
Details
In response to this:
Proposed Changes
- remove the allowance for ExecActions as Readiness and Liveness probes
The runtime contract states that If specified, liveness and readiness probes are REQUIRED to be of the httpGet or tcpSocket types
Release Note
NONE
Instructions 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/test-infra repository.
|
The following is the coverage report on pkg/.
|
|
/hold I have a PR currently out that looks to relax this requirement. https://github.com/knative/serving/pull/4035/files#diff-e5a9114cbfb7f985c0da2dfe04221c26R230 ExecProbes are unfortunately the only way to effectively probe many gRPC and HTTP/2.0 workloads as of right now. Taking this away has the potential to break existing workloads. We do need a better story here as the exec probes do not go through the queue-proxy container, are easy to implement incorrectly, and may not work in all environments. However, I don't think we can remove this at this time. See https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/ for more details. /cc @ahmetb |
Do you envision using sharing process namespaces between the pod's containers (beta in k8s 1.14) as a way to enable this? |
|
I'm wondering whether the combination of the exec probe and a readiness probe through the queue-proxy that TCP probes the user-container are (taken together) enough. This extends a layer further when we also incorporate probes on the mesh's proxy. 🐢 |
|
Are httpProbes compatible with Istio under mTLS now, too? In Kubernetes / OpenFaaS we had to use execProbes to get around mTLS blocking the http traffic. |
|
@alexellis Yes in 1.1. Closing this. |
Proposed Changes
The runtime contract states that If specified, liveness and readiness probes are REQUIRED to be of the httpGet or tcpSocket types
Release Note