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
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. |
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. |