Namespace

A namespace is a logical pool of resources in a container platform cluster that manages workloads based on specific requirements or business needs. For example, administrators can pool resources for different organizations within the enterprise, and assign different policies to each pool.

Synopsis

Namespace in the Supply Chain
Synopsis
Provides: N/A
Consumes: N/A
Discovered through: Kubeturbo agent that you deployed to your cluster

Labels and annotations

Turbonomic discovers namespace labels and annotations as tag properties. You can filter namespaces by labels or annotations when you use Search or create Groups.

Annotations are not discovered by default. To enable discovery, configure the annotationWhitelist parameter in your ConfigMap. For more information about this parameter, see this topic.

Monitored resources

A namespace can include the following compute resource quotas:

  • vMem request quota

    vMem request quota is the total amount of virtual memory request for all pods allocated to the namespace against the namespace quota.

  • vCPU request quota

    vCPU request quota is the total amount of virtual CPU request (in mCores) for all pods allocated to the namespace against the namespace quota.

  • vMem limit quota

    vMem limit quota is the total amount of virtual memory limit for all pods allocated to the namespace against the namespace quota.

  • vCPU limit quota

    vCPU limit quota is the total amount of virtual CPU limits (in mCores) for all pods allocated to the namespace against the namespace quota.

When configured, these quotas define the capacity for the given namespace. Turbonomic monitors actual utilization of these quotas against cluster capacity.

Points to consider:

  • When you scope to a namespace in the supply chain, you can see utilization data in the Capacity and Usage and Namespace Multiple Resources charts. With this data, you can understand how pods running in the namespace are consuming resources.

  • The Capacity and Usage chart shows Capacity as the namespace quotas. Used values are the sum of resource limits and/or requests set for all pods in the namespace.

    Capacity and Usage charts

    For a namespace that does not have defined quotas, Capacity for the commodity is infinite (as shown in the following image). Used values are the sum of resource limits and/or requests set for all pods in the namespace. If these are not set, Used value is 0 (zero).

    Capacity and Usage charts
    Note:

    If you download the data in the chart, the downloaded file shows infinite capacities as unusually large values (for example, 1,000,000,000 cores instead of the ∞ symbol).

  • To see which namespaces use the most cluster resources, set the scope to a container platform cluster and see the Top Namespaces chart. You can use the data in the chart for showback analysis.

  • When you run Optimize Container Cluster plans, Turbonomic can calculate increased namespace quotas in the plan results. For more information, see this topic.

Namespace actions

Turbonomic supports the following actions:

Resize quota

Turbonomic treats quotas defined in a namespace as constraints when making resize decisions. If existing actions would exceed the namespace quotas, Turbonomic recommends actions to resize up the affected namespace quota.

Note that Turbonomic does not recommend actions to resize down a namespace quota. Such an action reduces the capacity that is already allocated to an application. The decision to resize down a namespace quota should include the application owner.

When you have a recommendation to resize namespace quotas, Turbonomic blocks execution of the resize actions for the affected Workload Containers. The action details show these blocked actions in the Related Actions list.

Namespace Actions
Note:

For more information about execution of resize actions via workload controllers, see Workload Controller Resize Actions.

Temporary Increases in Namespace Quotas

Turbonomic can increase namespace quotas temporarily under the following conditions:

  • Turbonomic temporarily increases the quota to allow the clone of the pod that is being moved to be scheduled.

  • When executing actions to resize a workload controller in a namespace with a defined quota, Turbonomic can increase the namespace quota temporarily to accommodate new replicas.

    When the execution of a resize action requires new replicas, a workload usually has a rolling update strategy defined. Even if the namespace quota is sufficient for the resource requirement of the new replicas, there is a chance that the quota is not enough to accommodate both the old and new replicas, as required by the rolling update. In this case, Kubeturbo calculates and then increases the quota based on the resources required by both the old and new replicas. Kubeturbo reverts the quota to its original size after the new replicas have been scheduled on a node.