Status check is a kubectl-based command that provides visibility into how Adaptive Pod placement applies to your cluster. Status check derives information from the Insights agent installed on the cluster.
You can run the status check at any time - before and after enabling SPP - to understand the expected or current impact of the feature.
Before enabling: Use status check to understand which workloads will be affected and to estimate total potential savings, helping you decide whether to enable the feature.
After enabling: Use status check to:
Estimate potential savings that can be achieved by restarting unevictable Pods.
See workload classification.
Status check gives the following information:
Potential savings
Total potential savings: the amount of waste that can be recovered by consolidating to the minimal amount of nodes needed in a cluster. Savings is derived strictly by Adaptive Pod placement increasing the flexibility to move Pods, enabling the draining and terminating of excess nodes, not based on rightsizing Pod resources.
Total potential savings assumes that all unevictable Pods are restarted, which Kompass cannot do.Pod placement potential savings: the portion of Total potential savings that is dependent on your restarting unevictable Pods.
By restarting these Pods, Adaptive Pod placement can include them in moving in the optimal way thereby preventing wasted resources.
Pod classification on the workload level
Evictable: all Pods in the workload are evictable.
Unevictable: all Pods in the workload are unevictable.
Hybrid: the workload contains a mix of evictable and unevictable Pods (for example, Pods in the kube-system namespace or local storage).
Excluded: for DaemonSets
Limitation
Status check requires 24 hours of data before it returns results. If there is inadequate data, status check returns an error.
Run status check
To install Krew, see Windows or MacOS.
To use the plugin, you need to install it first.
Prerequisites
Kubectl is installed
To install the Zesty Kubectl plugin:
Add the Zesty repository to Krew index:
kubectl krew index add zestyIndex https://github.com/zesty-co/kubectl-plugin.gitVerify the repo was added successfully:
kubectl krew index listInstall the plugin:
kubectl krew install zestyIndex/zestyVerify that the plugin was installed successfully:
kubectl krew listValidate the Kubectl context:
kubectl config current-contextThe current cluster’s name will be displayed.
To use the kubectl plugin:
The following table describes the plugin commands you can run for Status check:
To do this | Use this command |
|---|---|
Show full Adaptive Pod placement status in table format | kubectl zesty pod-placement status |
Show only the cluster summary | kubectl zesty pod-placement status --summary |
Output as JSON | kubectl zesty pod-placement status -o json |
Use a specific namespace and kubeconfig context | kubectl zesty pod-placement status --namespace zesty-system --context my-cluster |
Pipe to a file without headers kubectl zesty pod-placement status | kubectl zesty pod-placement status --no-headers > status.csv |