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
debug: ability to disable health check probes on pod copies #1070
Comments
/cc @verb |
Thanks for the feedback @rcoup. I agree, and I think this is part of a bigger issue where we need a bit more configurability in I think I also agree that your second idea seems like a better default, regardless of the above, but I need to think about it a bit more. /triage accepted |
/assign verb |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closing this issue. In response to this:
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. |
/reopen Should be fixed by kubernetes/kubernetes#110526 |
@gautierdelorme: Reopened this issue. In response to this:
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 Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close not-planned |
@k8s-triage-robot: Closing this issue, marking it as "Not Planned". In response to this:
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. |
Debugging pods by creating a copy (specifically changing the container image or the running command) can lead to the pod being restarted via liveness & startup health check failures.
eg: if I have a http service with a
httpGet
liveness probe configured, starting a debug container viakubectl debug myapp -it --copy-to=myapp-debug --container=myapp -- sh
won't be listening on a port, and will fail the liveness checks and be restarted, killing my debug shell.What would you like to be added:
An easy way of disabling liveness & startup probes for debug pod copies, and doing it by default. Longer discussion on readiness probes follows below.
Why is this needed:
Debug shells dying every few seconds is a bit a hindrance to debugging. 😄
Readiness Probes:
These prevent pods from receiving traffic, so they're IMO conceptually useful to keep: if I start a http service in my debug pod with verbose logging enabled, having it receive traffic could be a good idea. Ctrl-C it and it'd go back to being unready and stop receiving traffic. Not copying readiness probes marks the pod as always ready.
Labels aren't copied by default to debug pods, so to get any service traffic routed I need to add labels to my running debug pod.
Alternative viewpoint: if I was making & stepping through test requests with a daemon running in a debugger, kubernetes doing
GET /healthz
every 3 seconds could be extremely annoying.Ideas:
--copy-to=
, only readiness probes--copy-to=
.--copy-probes=all|none|(liveness|readiness|startup,...)
flag, with default asreadiness
none
(2) is probably the simplest approach that covers the most use cases.
The text was updated successfully, but these errors were encountered: