@@ -508,7 +508,7 @@ that file but the kubelet does not categorize the space as in use.
508
508
{{% /tab %}}
509
509
{{% tab name="Filesystem project quota" %}}
510
510
511
- {{< feature-state for_k8s_version="v1.15" state="alpha " >}}
511
+ {{< feature-state feature_gate_name="LocalStorageCapacityIsolationFSQuotaMonitoring " >}}
512
512
513
513
Project quotas are an operating-system level feature for managing
514
514
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,
534
534
it continues to consume space. Quota tracking records that space accurately
535
535
whereas directory scans overlook the storage used by deleted files.
536
536
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
+
537
542
If you want to use project quotas, you should :
538
543
539
544
* Enable the `LocalStorageCapacityIsolationFSQuotaMonitoring=true`
540
545
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
541
546
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.
544
552
545
553
* Ensure that the root filesystem (or optional runtime filesystem)
546
554
has project quotas enabled. All XFS filesystems support project quotas.
@@ -556,6 +564,13 @@ If you want to use project quotas, you should:
556
564
mounted with project quotas enabled. For both XFS and ext4fs, the
557
565
mount option is named `prjquota`.
558
566
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/).
559
574
{{% /tab %}}
560
575
{{< /tabs >}}
561
576
0 commit comments