-
Notifications
You must be signed in to change notification settings - Fork 716
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
Kubeadm DirAvailableCheck Should Ignore lost+found #2127
Comments
/assign @rosti @ereslibre what do you think about this?
i'm not familiar with |
+1 I'm also running into this. FWIW in my case the lost+found dir was added after mounting the etcd directory to an external data disk and was empty. |
If the fix is small enough, IMO this is a candidate for backport |
instead of mounting /var/lib/etcd to be the root of the external volume, why not mount the volume and sym-link a sub-folder to /var/lib/etcd? my understanding is that this solves the problem. also kubeadm allows you to ignore preflight checks for |
Although this can be avoided by using the directory hierarchy mentioned above, it doesn't seem to be a clean solution. Instead of checking for the existence of an empty directory during |
granular conflict detection requires binding to directory structures that may be version specific or change in the future (e.g. etcd5 might change it's snapshot model completely). if |
In general, using the root directory of a particular volume is not a good idea. Furthermore, this is For now symlinking or bind mounting to a sub-directory should do the trick. You can also ignore the pre-flight check error. |
closing due to:
|
BUG REPORT
DirAvailableCheck should ignore Linux
lost+found` directories.Versions
kubeadm version (use
kubeadm version
):Environment:
kubectl version
):Linux ip-10-0-0-33.us-west-1.compute.internal 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
kubeadm Version:
kubeadm version: &version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.4", GitCommit:"8d8aa39598534325ad77120c120a22b3a990b5ea", GitTreeState:"clean", BuildDate:"2020-03-12T21:01:11Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
What happened?
When mounting
/var/lib/etcd
on an external volume using a Linux filesysten it creates alost+found
directory be default. This is necessary for the fsck utility. However this causes the preflight checks to fail for etcd because the directory isn't empty.What you expected to happen?
DirAvailableCheck should ignore
lost+found
How to reproduce it (as minimally and precisely as possible)?
Mount
/var/lib/etcd
on a different volume with ext4 and runkubeadm init
Anything else we need to know?
The text was updated successfully, but these errors were encountered: