API Server Process Test

The Kubernetes API Server processes all cluster API requests, acting as the control plane's central gateway. It authenticates requests, validates them, and interacts with etcd to retrieve or modify the cluster's state. It serves client requests, manages resource updates, and enables communication between cluster components, ensuring seamless Kubernetes operations.

Monitoring the API Server process is vital because it is the central hub for managing cluster state and operations. Issues like high request latency, resource exhaustion, or failures can disrupt workloads, scheduling, and scaling. Monitoring ensures optimal performance, identifies bottlenecks, prevents downtime, and maintains the reliability of Kubernetes cluster operations.

The API Server Process Test continuously monitors the API Server 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 user and system CPU time spent

Indicates the CPU time consumed by the Kubernetes API Server.

Seconds

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

Maximum open file descriptors

Indicates the highest number of files or resources the Kubernetes API Server process can open simultaneously.

Number

 

Open file descriptors

Indicates the number of files or resources the Kubernetes API Server process has open currently.

Number

 

Open file descriptors usage

Indicates the number of files or resources the Kubernetes API Server 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.