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

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

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.