Kubelet Go Engine Test

The Go engine allows the Kubelet to handle tasks like monitoring container health, managing resource allocation, and interacting with container run times. Its design leverages Go's concurrency features to efficiently handle multiple tasks, ensuring robust and responsive container management across the cluster. Given the key role that Kubelet plays in container management and it being powered by Go Engine, it is imperative that Go Engine is monitored

This test monitors the Kubelet Go Engine and and reveal the key metrics like number of threads created, currently existing go routines, etc. These metrics are very useful is analyzing the performance of the Kubelet at any given time.

Target of the test : A Kubernetes Worker Node

Agent deploying the test : A remote agent

Outputs of the test : One set of results for target Kubernetes Worker 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.

DD Frequency

Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 3:1. This indicates that, by default, detailed measures will be generated every third time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD frequency.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

OS threads created

Indicates the number of OS threads created by Kubelet Go engine.

Number

The number of threads can enhance the performance by providing more concurrency but can also affect the performance adversely if the threads are laying idle.

Goroutines that currently exist

Indicates the current number of Goroutines that are existing and executing.

Number

A high number of goroutines may indicate the code is not managed well and can lead to low maintainability.

Go environment details available

Indicates if the current environment details are available for Go engine.

 

The values that this measure reports and their corresponding numeric values are detailed in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this test reports the Measure Values listed in the table above to indicate if Go environment details are available. In the graph of this measure however, the state is indicated using the numeric equivalents only.

The detailed diagnosis of the Go environment details available measure reveals the Go Environment version information.

Kubernetes build information available

Indicates if the build information is available for Kubernetes.

 

The values that this measure reports and their corresponding numeric values are detailed in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this test reports the Measure Values listed in the table above to indicates if Kubernetes build information is available. In the graph of this measure however, the state is indicated using the numeric equivalents only.

The detailed diagnosis of the Kubernetes build ino available available measure reveals Build date, Compiler, Git commit id, Git tree state, Go version, Major, Minor, Platform.

The detailed diagnosis of the Go environment details available measure reveals the Go Environment version information.

Figure 1 : The detailed diagnosis of Go environment details available measure

 

The detailed diagnosis of the Kubernetes build ino available available measure reveals Build date, Compiler, Git commit id, Git tree state, Go version, Major, Minor, Platform.

Figure 2 : The detailed diagnosis of Kubernetes build information available measure