跳转至

API Reference

Packages:

kepler.system.sustainable.computing.io/v1alpha1

Resource Types:

PowerMonitorInternal

↩ Parent

PowerMonitorInternal is the Schema for the internal kepler 2 API

Name Type Description Required
apiVersion string kepler.system.sustainable.computing.io/v1alpha1 true
kind string PowerMonitorInternal true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object PowerMonitorInternalSpec defines the desired state of PowerMonitorInternalSpec
false
status object
false

PowerMonitorInternal.spec

↩ Parent

PowerMonitorInternalSpec defines the desired state of PowerMonitorInternalSpec

Name Type Description Required
kepler object
true
openshift object
false

PowerMonitorInternal.spec.kepler

↩ Parent

Name Type Description Required
deployment object
true
config object
false

PowerMonitorInternal.spec.kepler.deployment

↩ Parent

Name Type Description Required
image string
true
namespace string
true
kubeRbacProxyImage string
false
nodeSelector map[string]string Defines which Nodes the Pod is scheduled on

Default: map[kubernetes.io/os:linux]
false
security object If set, defines the security mode and allowed SANames
false
tolerations []object If specified, define Pod's tolerations

Default: [map[effect: key: operator:Exists value:]]
false

PowerMonitorInternal.spec.kepler.deployment.security

↩ Parent

If set, defines the security mode and allowed SANames

Name Type Description Required
allowedSANames []string
false
mode enum

Enum: none, rbac
false

PowerMonitorInternal.spec.kepler.deployment.tolerations[index]

↩ Parent

The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator .

Name Type Description Required
effect string Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
false
key string Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
false
operator string Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
false
tolerationSeconds integer TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Format: int64
false
value string Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
false

PowerMonitorInternal.spec.kepler.config

↩ Parent

Name Type Description Required
additionalConfigMaps []object AdditionalConfigMaps is a list of ConfigMap names that will be merged with the default ConfigMap These AdditionalConfigMaps must exist in the same namespace as PowerMonitor components
false
logLevel string

Default: info
false
maxTerminated integer MaxTerminated controls terminated workload tracking behavior Negative values: track unlimited terminated workloads (no capacity limit) Zero: disable terminated workload tracking completely Positive values: track top N terminated workloads by energy consumption

Format: int32
Default: 500
false
metricLevels []enum MetricLevels specifies which metrics levels to export Valid values are combinations of: node, process, container, vm, pod

Default: [node pod vm]
false
sampleRate string SampleRate specifies the interval for monitoring resources (processes, containers, vms, etc.) Must be a positive duration (e.g., "5s", "1m", "30s"). Negative values are not allowed.

Default: 5s
false
staleness string Staleness specifies how long to wait before considering calculated power values as stale Must be a positive duration (e.g., "500ms", "5s", "1h"). Negative values are not allowed.

Default: 500ms
false

PowerMonitorInternal.spec.kepler.config.additionalConfigMaps[index]

↩ Parent

ConfigMapRef defines a reference to a ConfigMap

Name Type Description Required
name string Name of the ConfigMap
true

PowerMonitorInternal.spec.openshift

↩ Parent

Name Type Description Required
enabled boolean

Default: true
true
dashboard object
false

PowerMonitorInternal.spec.openshift.dashboard

↩ Parent

Name Type Description Required
enabled boolean

Default: false
false

PowerMonitorInternal.status

↩ Parent

Name Type Description Required
conditions []object conditions represent the latest available observations of power-monitor-internal
true
kepler object
false

PowerMonitorInternal.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

Format: date-time
true
message string message is a human readable message indicating details about the transition. This may be an empty string.
true
reason string reason contains a programmatic identifier indicating the reason for the condition's last transition.
true
status string status of the condition, one of True, False, Unknown.
true
type string Type of Kepler Condition - Reconciled, Available ...
true
observedGeneration integer observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

Format: int64
Minimum: 0
false

PowerMonitorInternal.status.kepler

↩ Parent

Name Type Description Required
currentNumberScheduled integer The number of nodes that are running at least 1 power-monitor-internal pod and are supposed to run the power-monitor-internal pod.

Format: int32
true
desiredNumberScheduled integer The total number of nodes that should be running the power-monitor-internal pod (including nodes correctly running the power-monitor-internal pod).

Format: int32
true
numberMisscheduled integer The number of nodes that are running the power-monitor-internal pod, but are not supposed to run the power-monitor-internal pod.

Format: int32
true
numberReady integer numberReady is the number of nodes that should be running the power-monitor-internal pod and have one or more of the power-monitor-internal pod running with a Ready Condition.

Format: int32
true
numberAvailable integer The number of nodes that should be running the power-monitor-internal pod and have one or more of the power-monitor-internal pod running and available

Format: int32
false
numberUnavailable integer The number of nodes that should be running the power-monitor-internal pod and have none of the power-monitor-internal pod running and available

Format: int32
false
updatedNumberScheduled integer The total number of nodes that are running updated power-monitor-internal pod

Format: int32
false

PowerMonitor

↩ Parent

PowerMonitor is the Schema for the PowerMonitor API

Name Type Description Required
apiVersion string kepler.system.sustainable.computing.io/v1alpha1 true
kind string PowerMonitor true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object PowerMonitorSpec defines the desired state of Power Monitor
false
status object PowerMonitorStatus defines the observed state of Power Monitor
false

PowerMonitor.spec

↩ Parent

PowerMonitorSpec defines the desired state of Power Monitor

Name Type Description Required
kepler object
true

PowerMonitor.spec.kepler

↩ Parent

Name Type Description Required
config object
false
deployment object
false

PowerMonitor.spec.kepler.config

↩ Parent

Name Type Description Required
additionalConfigMaps []object AdditionalConfigMaps is a list of ConfigMap names that will be merged with the default ConfigMap These AdditionalConfigMaps must exist in the same namespace as PowerMonitor components
false
logLevel string

Default: info
false
maxTerminated integer MaxTerminated controls terminated workload tracking behavior Negative values: track unlimited terminated workloads (no capacity limit) Zero: disable terminated workload tracking completely Positive values: track top N terminated workloads by energy consumption

Format: int32
Default: 500
false
metricLevels []enum MetricLevels specifies which metrics levels to export Valid values are combinations of: node, process, container, vm, pod

Default: [node pod vm]
false
sampleRate string SampleRate specifies the interval for monitoring resources (processes, containers, vms, etc.) Must be a positive duration (e.g., "5s", "1m", "30s"). Negative values are not allowed.

Default: 5s
false
staleness string Staleness specifies how long to wait before considering calculated power values as stale Must be a positive duration (e.g., "500ms", "5s", "1h"). Negative values are not allowed.

Default: 500ms
false

PowerMonitor.spec.kepler.config.additionalConfigMaps[index]

↩ Parent

ConfigMapRef defines a reference to a ConfigMap

Name Type Description Required
name string Name of the ConfigMap
true

PowerMonitor.spec.kepler.deployment

↩ Parent

Name Type Description Required
nodeSelector map[string]string Defines which Nodes the Pod is scheduled on

Default: map[kubernetes.io/os:linux]
false
security object If set, defines the security mode and allowed SANames
false
tolerations []object If specified, define Pod's tolerations

Default: [map[effect: key: operator:Exists value:]]
false

PowerMonitor.spec.kepler.deployment.security

↩ Parent

If set, defines the security mode and allowed SANames

Name Type Description Required
allowedSANames []string
false
mode enum

Enum: none, rbac
false

PowerMonitor.spec.kepler.deployment.tolerations[index]

↩ Parent

The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator .

Name Type Description Required
effect string Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
false
key string Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
false
operator string Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
false
tolerationSeconds integer TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Format: int64
false
value string Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
false

PowerMonitor.status

↩ Parent

PowerMonitorStatus defines the observed state of Power Monitor

Name Type Description Required
conditions []object conditions represent the latest available observations of power-monitor
true
kepler object
false

PowerMonitor.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

Format: date-time
true
message string message is a human readable message indicating details about the transition. This may be an empty string.
true
reason string reason contains a programmatic identifier indicating the reason for the condition's last transition.
true
status string status of the condition, one of True, False, Unknown.
true
type string Type of Kepler Condition - Reconciled, Available ...
true
observedGeneration integer observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

Format: int64
Minimum: 0
false

PowerMonitor.status.kepler

↩ Parent

Name Type Description Required
currentNumberScheduled integer The number of nodes that are running at least 1 power-monitor pod and are supposed to run the power-monitor pod.

Format: int32
true
desiredNumberScheduled integer The total number of nodes that should be running the power-monitor pod (including nodes correctly running the power-monitor pod).

Format: int32
true
numberMisscheduled integer The number of nodes that are running the power-monitor pod, but are not supposed to run the power-monitor pod.

Format: int32
true
numberReady integer numberReady is the number of nodes that should be running the power-monitor pod and have one or more of the power-monitor pod running with a Ready Condition.

Format: int32
true
numberAvailable integer The number of nodes that should be running the power-monitor pod and have one or more of the power-monitor pod running and available

Format: int32
false
numberUnavailable integer The number of nodes that should be running the power-monitor pod and have none of the power-monitor pod running and available

Format: int32
false
updatedNumberScheduled integer The total number of nodes that are running updated power-monitor pod

Format: int32
false

Copyright Contributors to the Kepler's project.

The Linux Foundation® (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage.