Scheduler Process Test

The Kubernetes scheduler assigns pods to nodes by evaluating resource requirements, constraints, and cluster state. It scores nodes using scheduling algorithms, selects the best fit, and communicates the decision to the API server for pod deployment, ensuring efficient resource utilization.

Monitoring the Kubernetes scheduler process ensures efficient pod placement and resource allocation. It helps detect delays, inefficiencies, or bottlenecks in scheduling decisions, which could impact application performance. By tracking metrics like scheduling latency and failures, administrators can optimize cluster configurations, maintain smooth operations, and ensure the scheduler handles workloads effectively under varying conditions and loads.

The Scheduler Process Test continuously monitors the scheduler process in the target node and reports key metrics like user and system CPU time spent, file descriptor details etc. These metrics are invaluable for the administrators to ensure that service is up and prevent any issues in case service has problems.

Target of the test : A Kubernetes Master Node

Agent deploying the test : A remote agent

Outputs of the test : One set of results for the target Kubernetes Master node being monitored

Configurable parameters for the test

Parameter

Description

Test Period

How often should the test be executed.

Host

The IP address of the host for which this test is to be configured.

Port

Specify the port at which the specified Host listens. By default, this is 6443.

Timeout

Specify the duration (in seconds) beyond which the test will timeout in the Timeout text box. The default value is 10 seconds.

Metric URL

Each of the Kubernetes system components expose monitoring metrics through /metrics endpoint of the HTTP server. For components that don't expose endpoint by default, refer official Kubernetes distribution documentation site. Specify the metric URL textbox.

Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Total CPU time spent

Indicates the CPU time consumed by the Kubernetes Controller Manager process.

Milliseconds

Time spent executing code in user mode, such as processing requests, running algorithms, and performing operations in the application itself.

Number of open file descriptors

Indicates the highest number of files or resources the Kubernetes Controller Manager process can open simultaneously.

Number

 

Maximum allowed open file descriptors

Indicates the number of files or resources the Kubernetes Controller Manager process has open currently.

Number

 

Open file descriptors usage

Indicates the number of files or resources the Kubernetes Controller Manager process has open currently and are in use.

%

Monitoring the file descriptor count helps identify when the process is nearing resource limits, potentially causing service disruptions, latency, or failures.