Skip to main content

Kubelet Service Options

Every node in a Kubernetes cluster has a running Kubelet Service which is responsible for managing the containers scheduled to run on each node. These options let you customize some of the cluster-wide Kubelet settings.

Here's what the Kubelet options look like, with the default values or [required] for properties that must be specified:

kubelet:
allowPodsOnControlPlane: false
apiServer:
verbosity: 2
evictionHard: [empty map]
featureGates:
EphemeralContainers: true
kubeReserved: [empty map]
maxPodsPerNode: 250
shutdownGracePeriodCriticalPodsSeconds: 120
shutdownGracePeriodSeconds: 360
systemReserved: [empty map]
note

allowPodsOnControlPlane defaults to false for cluster that have worker nodes or true for clusters with only control-plane nodes (such as the desktop cluster).

PropertyDescription
allowPodsOnControlPlane

bool: Specifies whether Kubernetes will allow pods to be scheduled on control-plane nodes. This defaults to true for clusters without worker nodes, false when worker nodes are present.

apiServer

object: Specifies Kubernetes API Server options.

PropertyDescription
verbosity

Specifies the Kubernetes API Server log verbosity. This defaults to: 2

Here are the supported verbosity values and what they do:

  • 1 - Log minimal details
  • 2 - (default) Log useful steady state service status and significant changes to the system
  • 3 - Log extended information about changes
  • 4 - Log debug information
  • 5 - Undefined
  • 6 - Log requested resources
  • 7 - Log HTTP request headers
  • 8 - Log HTTP request contents
  • 9 - Log HTTP request responses
evictionHard

map: Used to specify hard eviction thresholds that Kubelet will use to evict pods with our a grace period. See Hard eviction thresholds for more information.

This defaults to an empty map to use the Kubernetes defaults.

featureGates

map: Enables or disables specific Kubernetes features. This can be used to enable alpha quality or other features that are disabled by default for the Kubernetes version being deployed or to disable features.

This is a dictionary that maps feature names a boolean where true enables the feature and false disables it. Here's a description of the available Kubernetes Feature Gates.

NeonKUBE clusters enable specific features by default when you you haven't explicitly disabled them via this property. Note that some features may be required and cannot be disabled. Here are the feature gates enabled for NeonKUBE clusters by default:

FeatureDescription
EphemeralContainers

Enables the ability to add ephemeral containers to running pods. This comes in handy for debugging running pods.

kubeReserved

map: Used to reserve system resources for Kubernetes related services. See Reserve Compute Resources for more information.

This defaults to an empty map to use the Kubernetes defaults.

maxPodsPerNode

integer: Specifies the maximum number of Pods that can be scheduled on a node. This defaults to: 250

shutdownGracePeriodCriticalPodsSeconds

integer: Specifies the seconds that Kubelet will delay node shutdown for critical pods. This defaults to 120 seconds and must be less than shutdownGracePeriodSeconds and not less than 30 seconds.

shutdownGracePeriodSeconds

integer: Specifies seconds Kubelet will delay node shutdown while gracefully terminating pods on the node. This is expressed in seconds and must be at least 30 seconds. This defaults to 360 seconds.

systemReserved

map: Used to reserve system resources for Linux System related services. See Reserve Compute Resources for more information.

This defaults to an empty map to use the Kubernetes defaults.