Infrastructure as a Service

Cloud Infrastructure as a Service

Join us to learn more from a community of collaborative experts and IBM Cloud product users to share advice and best practices with peers and stay up to date regarding product enhancements, regional user group meetings, webinars, how-to blogs, and other helpful materials.


#Cloud
 View Only
Expand all | Collapse all

I am trying to upgrade my Kubecost helm version from v2.7.2 to v2.9.6 and i am getting this error.

  • 1.  I am trying to upgrade my Kubecost helm version from v2.7.2 to v2.9.6 and i am getting this error.

    Posted Mon February 02, 2026 04:14 PM

    Given below is the default values i use 

    values: |
            kubecostFrontend:
              api:
                fqdn: localhost:9001
              model:
                fqdn: localhost:9003
            global:
              clusterId: cluster-one
              grafana:
                fqdn: localhost
            finopsagent:
            ## Kubecost 2.9 is intended to facilitate the upgrade to Kubecost 3.0.
            ## When upgrading to Kubecost 2.9, the finopsagent is enabled by default.
            ## This can be disabled if you are not upgrading the cluster to Kubecost 3.0 or do not mind losing a partial day of data.
              enabled: false
            podSecurityPolicy:
              enabled: false
            networkCosts:
              podSecurityPolicy:
                enabled: false
            prometheus:
              server:
                global: {} # disable default global scrape config
              podSecurityPolicy:
                enabled: false
            grafana:
              rbac:
                pspEnabled: false


    ------------------------------
    Rushabh Patel
    ------------------------------


  • 2.  RE: I am trying to upgrade my Kubecost helm version from v2.7.2 to v2.9.6 and i am getting this error.

    Posted Tue February 03, 2026 02:36 PM

    What the error is actually saying (root cause)

    ```

    can't evaluate field cluster_id in type interface {}
    .Values.prometheus.server.global.external_labels.cluster_id

    ```

    and

    ```

    warning: cannot overwrite table with non table for cost-analyzer.prometheus.server.global.external_labels

    ```

    • Kubecost 2.9 expects prometheus.server.global.external_labels to be a map

    • You are overriding prometheus.server.global with {}, which wipes out the expected structure

    • Kubecost templates then try to read:

    .Values.prometheus.server.global.external_labels.cluster_id

    but global is now an empty object → Helm crashes

    The exact breaking line in your values

    prometheus:
      server:
        global: {} # disable default global scrape config

    Here is a minimal, safe fix that will unblock your upgrade:

    kubecostFrontend:
      api:
        fqdn: localhost:9001
      model:
        fqdn: localhost:9003

    global:
      clusterId: cluster-one
      grafana:
        fqdn: localhost

    finopsagent:
      enabled: false

    podSecurityPolicy:
      enabled: false

    networkCosts:
      podSecurityPolicy:
        enabled: false

    prometheus:
      server:
        global:
          external_labels:
            cluster_id: cluster-one
      podSecurityPolicy:
        enabled: false

    grafana:
      rbac:
        pspEnabled: false



    ------------------------------
    Fabian Nnamdi
    ------------------------------



  • 3.  RE: I am trying to upgrade my Kubecost helm version from v2.7.2 to v2.9.6 and i am getting this error.

    Posted Wed February 04, 2026 10:12 AM

    Thank you for the responce error solved.



    ------------------------------
    Rushabh Patel
    ------------------------------



  • 4.  RE: I am trying to upgrade my Kubecost helm version from v2.7.2 to v2.9.6 and i am getting this error.

    Posted Wed February 04, 2026 10:17 AM

    Glad to hear that error is solved.



    ------------------------------
    Fabian Nnamdi
    ------------------------------