Skip to content

Kepler DaemonSet Customization

Kepler enables a function to hybrid read environment variable from attributes directly (container.env) and from the ConfigMap. Note that, all steps will be operated by Kepler Operator if the operator is installed.

To set environments by ConfigMap:

  1. Create/Generate ConfigMap

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: kepler-cfm
      namespace: kepler-system
    data:
      MODEL_SERVER_ENABLE: true
      COUNTER_METRICS: '*'
      BPF_METRICS: '*'
      # KUBELET_METRICS: ''
      # GPU_METRICS: ''
      PERF_METRICS: '*'
      MODEL_CONFIG: |
        POD_COMPONENT_ESTIMATOR=true
        POD_COMPONENT_INIT_URL=https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-server/main/tests/test_models/DynComponentPower/CgroupOnly/ScikitMixed.zip
    
  2. Mount the ConfigMap to DaemonSet:

      spec:
        containers:
          - name: kepler-exporter
            volumeMounts:
            - name: cfm
              mountPath: /etc/config
              readOnly: true
          volumes:
          - name: cfm
            configMap:
              name: kepler-cfm
    

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.