k8s_workload_desired_pods
pods
Number of desired pods per workload
k8s_workload_running_pods
pods
The number of running pods per workload
k8s_workload_ready_pods
pods
The number of ready pods per workload
k8s_workload_cpu_used
millicores
The total amount of CPUs used by the entire workload
k8s_workload_memory_used
bytes
The total amount of memory used by the entire workload
k8s_workload_cpu_request
millicores
The total amount of CPUs requests for the workload
k8s_workload_cpu_limit
millicores
The total amount of CPUs limits for the entire workload
k8s_workload_memory_request
millicores
The total amount of memory requests for the workload
k8s_workload_memory_limit
millicores
The total amount of memory limits for the entire workload
k8s_workload_replicas
integer
pods
1
0
→ 1024
yes
Number of desired pods in the deployment
k8s_cluster_cpu | millicores | The CPUs in the cluster |
k8s_cluster_cpu_available | millicores | The CPUs available for additional pods in the cluster |
k8s_cluster_cpu_util | percent | The percentage of used CPUs in the cluster |
k8s_cluster_cpu_request | millicores | The total CPUs requested in the cluster |
k8s_cluster_memory | bytes | The overall memory in the cluster |
k8s_cluster_memory_available | bytes | The amount of memory available for additional pods in the cluster |
k8s_cluster_memory_util | percent | The percentage of used memory in the cluster |
k8s_cluster_memory_request | bytes | The total memory requested in the cluster |
k8s_cluster_nodes | nodes | The number of nodes in the cluster |
Parameter | Type | Unit | Default | Domain | Restart | Description |
---|
Formula | Notes |
---|
container_cpu_used | millicores | The CPUs used by the container |
container_cpu_used_max | millicores | The maximum CPUs used by the container among all container replicas |
container_cpu_util | percent | The percentage of CPUs used with respect to the limit |
container_cpu_util_max | percent | The maximum percentage of CPUs used with respect to the limit among all container replicas |
container_cpu_throttle_time | percent | The amount of time the CPU has been throttled |
container_cpu_throttled_millicores | millicores | The CPUs throttling per container in millicores |
container_cpu_request | millicores | The CPUs requested for the container |
container_cpu_limit | millicores | The CPUs limit for the container |
container_memory_used | bytes | The total amount of memory used by the container |
container_memory_used_max | bytes | The maximum memory used by the container among all container replicas |
container_memory_util | percent | The percentage of memory used with respect to the limit |
container_memory_util_max | percent | The maximum percentage of memory used with respect to the limit among all container replicas |
container_memory_working_set | bytes | The working set usage in bytes |
container_memory_resident_set | bytes | The resident set usage in bytes |
container_memory_cache | bytes | The memory cache usage in bytes |
container_memory_request | bytes | The memory requested for the container |
container_memory_limit | bytes | The memory limit for the container |
## Parameters |
cpu_request | integer | millicores | You should select your own default value. | You should select your own domain. | yes | Amount of CPU resources requests in CPU units (milllicores) |
cpu_limit | integer | millicores | You should select your own default value. | You should select your own domain. | yes | Limits on the amount of CPU resources usage in CPU units (millicores) |
memory_request | integer | megabytes | You should select your own default value. | You should select your own domain. | yes | Amount of memory resources requests in megabytes |
memory_limit | integer | megabytes | You should select your own default value. | You should select your own domain. | yes | Limits on the amount of memory resources usage in megabytes |
component_name.cpu_request <= component_name.cpu_limit |
component_name.memory_request <= component_name.memory_limit |
k8s_pod_cpu_used | millicores | The CPUs used by all containers of the pod |
k8s_pod_memory_used | bytes | The total amount of memory used as sum of all containers in a pod |
k8s_pod_cpu_request | millicores | The CPUs requested for the pod as sum of all container cpu requests |
k8s_pod_cpu_limit | millicores | The CPUs allowed for the pod as sum of all container cpu limits |
k8s_pod_memory_request | bytes | The memory requested for the pod as sum of all container memory requests |
k8s_pod_memory_limit | bytes | The memory limit for the pod as sum of all container memory limits |
k8s_pod_restarts | events | The number of container restarts in a pod |
k8s_namespace_cpu_limit
millicores
The CPU limit for the namespace
k8s_namespace_cpu_request
millicores
The CPUs requested for the namespace
k8s_namespace_memory_limit
bytes
The memory limit for the namespace
k8s_namespace_memory_request
bytes
Memory requested for the namespace
k8s_namespace_running_pods
pdds
The number of running pods in the namespace
The Kubernetes optimization pack allows optimizing containerized applications running on a Kubernetes cluster. Through this optimization pack, Akamas is able to tackle the problem of distributing resources to containerized applications in order to minimize waste and ensure the quality of service.
To achieve these goals the optimization pack provides parameters that focus on the following areas:
Memory allocation
CPU allocation
Number of replicas
Similarly, the bundled metrics provide visibility on the following aspects of tuned applications:
Memory utilization
CPU utilization
The component types provided in this optimization pack allow modeling the entities found in a Kubernetes-based application, optimizing their parameters, and monitoring the key performance metrics.
Component Type | Description |
---|---|
Here’s the command to install the Kubernetes optimization pack optimization-pack using the Akamas CLI:
Kubernetes Container
Kubernetes Pod
Kubernetes Workload
Kubernetes Namespace
Kubernetes Cluster