-
Notifications
You must be signed in to change notification settings - Fork 141
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
Mode kubelet-registration-probe
is broken
#244
Comments
If it's accepted as a bug I want to work on this 🙂 |
We added that mode as a workaround for Windows, see #143 and kubernetes/kubernetes#104584 for more info. The issue was fixed upstream in Kubernetes in 1.24 so if you're using that version you don't need the workaround. I think it's worth adding a note like this in the README about not using this flag anymore. |
We‘re already using Kubernetes v1.24.8 and the issue still persists |
Sorry I think kubernetes/kubernetes#104584 was fixed in 1.25 |
Ah okay, thanks for the update. So I think we don‘t need this fix 👍🏻 |
Just to get this right: you mean that this probe will be fixed in v1.25 for Windows, right? Because we are facing this issue with Linux. According to the docs the exec livenessProbe should succeed and it does not. That‘s why I‘ve added this issue |
The issue #143 only happened in Windows, we added the |
@mauriciopoppe Removing the livenessprobe check will ensure the pod doesn't restart but that error message is still concerning. If an operator looks at the container logs while debugging, that error message could be misleading even if it isn't actually used. IMO, we should fix the behavior as there are folks still running the older k8s versions and this error will cause the pod to fail livenessprobe check. When the |
@aramase thanks for linking to this bug, I think that the kubelet-registration-probe was working with Azurefile and Azuredisk successfully so it might be a new bug, wondering if it's related with #214 There's a release note that I added with this change, wondering if this should be done in the manifests in the volume definitions (to create the directories if they don't exist beforehand)
|
@mauriciopoppe So we create the host path directory if it doesn't exist: https://github.com/kubernetes-sigs/secrets-store-csi-driver/blob/main/deploy/secrets-store-csi-driver.yaml#L128-L131. This host path is mounted in the The path used for the registration file is determined using |
But the workaround does not work for Linux currently. As this was only added for Windows we can simply remove the docs for Linux, right? This is a bit misleading imo. |
+1 -- same setup as @tobiasgiese |
Thank for the additional feedback @aramase & @tobiasgiese, I think that #214 is the bug, I'm going to revert it and analyze the issue in more detail later |
/kind bug |
versions v2.7.0 and v2.6.2 shouldn't have this issue after #247 |
This still appears to be broken in 2.7.0.
|
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale @james-callahan sorry for getting back so late, I saw the same error when setting Anyways the failure message won't affect the functionality of node-driver-registrar, as part of the workaround in #152 I assume that node-driver-registrar can write a file to the root filesystem, this file which can't be created was used through the livenessProbe and node-driver-registrar running in @aramase also wrote:
I totally agree but to remove the creation of the file and the entire workaround safely I think we need to deprecate the feature first, I created #309 to track this change. |
I think the issue may have gone away in 2.8.0. |
I looked at the diff between these two releases v2.6.3...v2.8.0 and I see #245 which is related to a success message being printed only in the success scenario, so in a readOnly FS you should still be seeing this error. My setup is with node-driver-registrar:v2.8.0 with the Pod spec having I'm going to close this issue because node-driver-registrar is no longer broken. |
b54c1ba4 Merge pull request kubernetes-csi#246 from xing-yang/go_1.21 5436c81e Change go version to 1.21.5 267b40e9 Merge pull request kubernetes-csi#244 from carlory/sig-storage b42e5a2d nominate self (carlory) as kubernetes-csi reviewer a17f536f Merge pull request kubernetes-csi#210 from sunnylovestiramisu/sidecar 011033de Use set -x instead of die 5deaf667 Add wrapper script for sidecar release git-subtree-dir: release-tools git-subtree-split: b54c1ba49469d4d5d1b5d75285e8868ffe3d328f
dc4d0ae2 Merge pull request kubernetes-csi#249 from jsafrane/use-go-version e681b170 Use .go-version to get Kubernetes go version b54c1ba4 Merge pull request kubernetes-csi#246 from xing-yang/go_1.21 5436c81e Change go version to 1.21.5 267b40e9 Merge pull request kubernetes-csi#244 from carlory/sig-storage b42e5a2d nominate self (carlory) as kubernetes-csi reviewer a17f536f Merge pull request kubernetes-csi#210 from sunnylovestiramisu/sidecar 011033de Use set -x instead of die 5deaf667 Add wrapper script for sidecar release f8c8cc4c Merge pull request kubernetes-csi#237 from msau42/prow b36b5bfd Merge pull request kubernetes-csi#240 from dannawang0221/upgrade-go-version adfddcc9 Merge pull request kubernetes-csi#243 from pohly/git-subtree-pull-fix c4650889 pull-test.sh: avoid "git subtree pull" error 7b175a1e Update csi-test version to v5.2.0 987c90cc Update go version to 1.21 to match k/k 2c625d41 Add script to generate patch release notes f9d5b9c0 Merge pull request kubernetes-csi#236 from mowangdk/feature/bump_csi-driver-host-path_version b01fd537 Bump csi-driver-host-path version up to v1.12.0 git-subtree-dir: release-tools git-subtree-split: dc4d0ae20a3dcce17fbfc745fb1f1e3b10cd9644
It seems that
--mode=kubelet-registration-probe
is broken.Pods that configured a
livenessProbe
according to the recommendations fail with the following errorThe registration path and file is hard coded in the
main.go
.node-driver-registrar/cmd/csi-node-driver-registrar/main.go
Lines 148 to 153 in f8bc53e
But the registration file is in another location and also named differently.
pluginRegistrationPath
is usually/var/lib/kubelet/plugins_registry
(see the kubernetes-csi driver-volume-mounts docs)node-driver-registrar/cmd/csi-node-driver-registrar/node_register.go
Lines 86 to 88 in f8bc53e
where
nodeRegister
is usingbuildSocketPath
node-driver-registrar/cmd/csi-node-driver-registrar/node_register.go
Lines 36 to 41 in f8bc53e
Tobias Giese [email protected], Mercedes-Benz Tech Innovation GmbH, legal info/Impressum
The text was updated successfully, but these errors were encountered: