Windows Node Support
Kubecost can run on clusters with mixed Linux and Windows nodes. The Kubecost pods must run on a Linux node.
When using a Helm install, this can be done simply with:
helm install kubecost \
--repo https://kubecost.github.io/cost-analyzer/ cost-analyzer \
--namespace kubecost --create-namespace \
-f https://raw.githubusercontent.com/kubecost/cost-analyzer-helm-chart/develop/cost-analyzer/values-windows-node-affinity.yaml
The cluster must have at least 1 Linux node for the Kubecost pods to run on:
- Use a nodeSelector for all Kubecost deployments:spec:nodeSelector:kubernetes.io/os: linuxcontainers:
- For DaemonSets, set the affinity to only allow scheduling on Windows nodes:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/osoperator: Invalues:- linux
- Collecting data about Windows nodes is supported by Kubecost as of v1.93.0.
- Accurate node and pod data exists by default, since they come from the Kubernetes API.
- Kubecost requires cAdvisor for pod utilization data to determine costs at the container level.
- Currently, for pods on Windows nodes: pods will be billed based on request size.
Last modified 1mo ago