Skip to main content

More Info:

Advisory: create a ResourceQuota per tenant namespace to bound aggregate CPU, memory and object counts, preventing one tenant from starving others.

Risk Level

Low

Address

Security

Compliance Standards

  • Cloudanix Best Practice

Triage and Remediation

Remediation

Manual Steps

  1. List all tenant namespaces (excluding system namespaces). Run on any machine with kubectl access:
  2. For each tenant namespace (replace TENANT_NAMESPACE with the actual name), create a baseline ResourceQuota manifest file locally, for example rq-tenant-TENANT_NAMESPACE.yaml:
    Adjust the values to match your tenant sizing and capacity planning.
  3. Apply the ResourceQuota for each tenant namespace. Run on any machine with kubectl access:
  4. (Optional) Review the applied ResourceQuota and confirm it matches expectations. Run on any machine with kubectl access:
  5. If you already use labels to identify tenant namespaces (for example tenant=true), you can target only those namespaces. Run on any machine with kubectl access:
    Where rq-tenant-template.yaml is the manifest from step 2 with TENANT_NAMESPACE as a placeholder.
  6. Verify that every tenant namespace now has at least one ResourceQuota. Run on any machine with kubectl access:
    Confirm that is_compliant=true for all tenant namespaces.