Open rptaylor opened 4 years ago
@rptaylor Thanks for the indepth analysis. It is really helpful. Would you like propose a PR to get this issue closed?
/sig node /kind bug /language en /priority important-longterm
Also relevant, a bit: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#local-ephemeral-storage
Well I could propose some text if we have some information confirming and clarifying what the situation is, but I don't have that information needed to know for sure what the documentation should say. I have just speculated and guessed my way to a tentative understanding of the situation based on ~ 30 minutes of googling. It would be good to have some authoritative confirmation of what the situation really is and what the intended meaning was and if it has since changed, perhaps from whoever wrote or is responsible for the original documentation. The official documentation says "it is not OK to store volumes and logs in a dedicated filesystem" with italics for emphasis so it must have been very important.
/triage accepted
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale
/remove-lifecycle stale
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten
.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen
.
Mark the issue as fresh with /remove-lifecycle rotten
.
Send feedback to sig-contributor-experience at kubernetes/community. /close
@fejta-bot: Closing this issue.
/reopen /remove-lifecycle rotten
@sftim: Reopened this issue.
Subscribed. I suppose somebody did know what was there and how it should have be configured, but the knowledge was lost...
A related thing we don't describe well: the difference between:
/
and its same-filesystem children/var/lib/kubelet
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:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/lifecycle rotten
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
The page https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/#eviction-signals seems to be gone; now it redirects to https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals The information about supported filesystem layouts for the node is changed, now it says
The kubelet supports the following filesystem partitions:
nodefs: The node's main filesystem, used for local disk volumes, emptyDir, log storage, and more. For example, nodefs contains /var/lib/kubelet/.
imagefs: An optional filesystem that container runtimes use to store container images and container writable layers.
Kubelet auto-discovers these filesystems and ignores other filesystems. Kubelet does not support other configurations.
It is still not totally clear what nodefs and imagefs would actually be on a node. Reading this page, I think an admin would still not have enough information to e.g. decide how/where to attach additional storage volumes and configure filesystems on cluster nodes.
/remove-lifecycle stale
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:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/lifecycle rotten
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
/remove-lifecycle stale
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:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/lifecycle rotten
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
/remove-lifecycle stale
/cc
@sftim Since you helped review the container runtime filesystem, should we consider updating these docs as part of this issue?
In this case,
nodefs corresponds to the filesystem that /var/lib/kubelet
(by default) lives on. Generally, I think we need to suggest that the root filesystem (ie /
) should be the same filesystem that /var
lives on.
And we do support cases where /var/lib/containers
or /var/lib/containerd
is located on a separate partition. Now, these locations are also configureable so it gets a bit confusing. These are the default locations for cri-o and containerd.
There is also future work to allow for more configurations for Kubelet for logs and the kubelet root location.
@sftim Since you helped review the container runtime filesystem, should we consider updating these docs as part of this issue?
I'm very happy for someone else to comment here.
Need clarification to
Hello,
According to [1] https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/#eviction-signals
What exactly is meant by "it is not OK to store volumes and logs in a dedicated filesystem" ? How or why is it not okay? This same paragraph says it IS okay to store volumes and logs in a "nodefs" filesystem, so it seems to be a contradiction. Does it depend on whether "nodefs" is dedicated? How can we know what "nodefs" is? Is it where /var/lib/kubernetes is located, or ... ?
There is some related information here: [2] https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#configurations-for-local-ephemeral-storage Issues with the description of the single filesystem layout:
Regarding the two filesystem layout:
It takes a bit of connecting the dots to figure out (at least this is the tentative inference/hunch I get from reading the documentation but I could definitely be wrong), but a simpler and more direct way to write these requirements could instead be: