Skip to content

Commit d879656

Browse files
authored
Merge pull request #46967 from PannagaRao/promote-xfsQuota-to-beta
Promote ephemeral storage quota to beta(1.31)
2 parents 8ede19a + 97899e0 commit d879656

File tree

2 files changed

+28
-10
lines changed

2 files changed

+28
-10
lines changed

content/en/docs/concepts/configuration/manage-resources-containers.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,7 @@ that file but the kubelet does not categorize the space as in use.
508508
{{% /tab %}}
509509
{{% tab name="Filesystem project quota" %}}
510510

511-
{{< feature-state for_k8s_version="v1.15" state="alpha" >}}
511+
{{< feature-state feature_gate_name="LocalStorageCapacityIsolationFSQuotaMonitoring" >}}
512512

513513
Project quotas are an operating-system level feature for managing
514514
storage use on filesystems. With Kubernetes, you can enable project
@@ -534,13 +534,21 @@ If a file is created and deleted, but has an open file descriptor,
534534
it continues to consume space. Quota tracking records that space accurately
535535
whereas directory scans overlook the storage used by deleted files.
536536

537+
To use quotas to track a pod's resource usage, the pod must be in
538+
a user namespace. Within user namespaces, the kernel restricts changes
539+
to projectIDs on the filesystem, ensuring the reliability of storage
540+
metrics calculated by quotas.
541+
537542
If you want to use project quotas, you should:
538543

539544
* Enable the `LocalStorageCapacityIsolationFSQuotaMonitoring=true`
540545
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
541546
using the `featureGates` field in the
542-
[kubelet configuration](/docs/reference/config-api/kubelet-config.v1beta1/)
543-
or the `--feature-gates` command line flag.
547+
[kubelet configuration](/docs/reference/config-api/kubelet-config.v1beta1/).
548+
549+
* Ensure the `UserNamespacesSupport`
550+
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
551+
is enabled, and that the kernel, CRI implementation and OCI runtime support user namespaces.
544552

545553
* Ensure that the root filesystem (or optional runtime filesystem)
546554
has project quotas enabled. All XFS filesystems support project quotas.
@@ -556,6 +564,13 @@ If you want to use project quotas, you should:
556564
mounted with project quotas enabled. For both XFS and ext4fs, the
557565
mount option is named `prjquota`.
558566

567+
568+
If you don't want to use project quotas, you should:
569+
570+
* Disable the `LocalStorageCapacityIsolationFSQuotaMonitoring`
571+
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
572+
using the `featureGates` field in the
573+
[kubelet configuration](/docs/reference/config-api/kubelet-config.v1beta1/).
559574
{{% /tab %}}
560575
{{< /tabs >}}
561576

content/en/docs/reference/command-line-tools-reference/feature-gates/local-storage-capacity-isolation-fs-quota-monitoring.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ stages:
99
- stage: alpha
1010
defaultValue: false
1111
fromVersion: "1.15"
12+
toVersion: "1.30"
13+
- stage: beta
14+
defaultValue: false
15+
fromVersion: "1.31"
1216
---
13-
When `LocalStorageCapacityIsolation`
14-
is enabled for
15-
[local ephemeral storage](/docs/concepts/configuration/manage-resources-containers/)
16-
and the backing filesystem for [emptyDir volumes](/docs/concepts/storage/volumes/#emptydir)
17-
supports project quotas and they are enabled, use project quotas to monitor
18-
[emptyDir volume](/docs/concepts/storage/volumes/#emptydir) storage consumption rather than
19-
filesystem walk for better performance and accuracy.
17+
When `LocalStorageCapacityIsolation`
18+
is enabled for
19+
[local ephemeral storage](/docs/concepts/configuration/manage-resources-containers/),
20+
the backing filesystem for [emptyDir volumes](/docs/concepts/storage/volumes/#emptydir) supports project quotas,
21+
and `UserNamespacesSupport` is enabled,
22+
project quotas are used to monitor `emptyDir` volume storage consumption rather than using filesystem walk, ensuring better performance and accuracy.

0 commit comments

Comments
 (0)