API Server Storage Status Test
The Kubernetes API Server is a critical component of the Kubernetes control plane. It provides the REST API used by all components to interact with the cluster and manage resources. The storage status of the API Server typically refers to the etcd datastore, which is where the cluster state is stored.
Monitoring the API Server storage status is crucial to ensure the health of etcd, which stores the cluster's state. Issues like high disk usage, fragmentation, or unresponsive etcd can disrupt the entire Kubernetes cluster. Proactive monitoring helps prevent downtime, ensures resource availability, and maintains smooth cluster operations through timely interventions.
The API Server Storage status Test continuously monitors API Server Storage, and reportsa set of metrics for each of the API Server Etcd entries. These metrics include number of stored objects, served requests, tested objects, returned objects etc. These metrics allow the administrator to take informed decision on performance of Go engine and take preventive actions if required.
Target of the test : A Kubernetes Master Node
Agent deploying the test : A remote agent
Outputs of the test : One set of results for each storage on the target Kubernetes Master node API Server object 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 |
---|---|---|---|
Tested objects |
Indicates the objects which are already tested for data integrity, consistency, and performance of API Server interactions. |
Number |
If high number of objects are tested then the storage in quite consistent state. |
Read objects |
Indicates the number of objects which have already been tested at least once. |
Number |
|
Returned objects |
Indicates the number of objects which are returned by API server in response to the requests. |
Number |
These objects are typically fetched from etcd, the cluster's datastore. The returned objects are typically in JSON or YAML format, adhering to Kubernetes API specifications. |
Served requests |
Indicates the number of requests which have been served by API server. |
Number |
|
Stored objects |
Indicates the total number of objects stored in various kind of storage across the API server. |
Number |
If the total number of objects stored is very high, administrators should check if they need to add more storage. |