Community
OpenCost#
| Chart Name | Version | App version |
|---|---|---|
| opencost | 2.5.8 | 1.119.2 |
OpenCost is a vendor-neutral open-source project for measuring and allocating cloud infrastructure and container costs in real-time. It's specifically designed for Kubernetes cost monitoring, providing visibility into your spending and helping you understand how resources are being used.
Looking for Commercial Support? LEARN MORE
Prerequisites#
Deploy k0rdent v1.8.0: QuickStart
Install template to k0rdent#
helm upgrade --install opencost oci://ghcr.io/k0rdent/catalog/charts/kgst --set "chart=opencost:2.5.8" -n kcm-system
Verify service template#
Deploy service template#
apiVersion: k0rdent.mirantis.com/v1beta1
kind: MultiClusterService
metadata:
name: opencost
spec:
clusterSelector:
matchLabels:
group: demo
serviceSpec:
services:
- template: prometheus-27-5-1
name: prometheus
namespace: opencost
values: |
prometheus:
prometheus-pushgateway: { enabled: false }
alertmanager: { enabled: false }
extraScrapeConfigs: |
- job_name: opencost
honor_labels: true
dns_sd_configs: [{ names: [opencost.opencost], type: 'A', port: 9003 }]
- template: opencost-2-5-8
name: opencost
namespace: opencost
values: |
opencost:
opencost:
prometheus:
internal:
namespaceName: opencost
Prerequisites#
Deploy k0rdent v1.8.0: QuickStart
Install template to k0rdent#
helm upgrade --install traefik oci://ghcr.io/k0rdent/catalog/charts/kgst --set "chart=traefik:39.0.5" -n kcm-system
helm upgrade --install prometheus oci://ghcr.io/k0rdent/catalog/charts/kgst --set "chart=prometheus:27.5.1" -n kcm-system
helm upgrade --install opencost oci://ghcr.io/k0rdent/catalog/charts/kgst --set "chart=opencost:2.3.2" -n kcm-system
Verify service template#
kubectl get servicetemplates -A
# NAMESPACE NAME VALID
# kcm-system traefik-39-0-5 true
# kcm-system prometheus-27-5-1 true
# kcm-system opencost-2-3-2 true
Deploy service template#
apiVersion: k0rdent.mirantis.com/v1beta1
kind: MultiClusterService
metadata:
name: opencost
spec:
clusterSelector:
matchLabels:
group: demo
serviceSpec:
services:
- template: traefik-39-0-5
name: traefik
namespace: opencost
values: |
traefik:
deployment:
kind: DaemonSet
ports:
web:
port: 8000
hostPort: 80
websecure:
port: 8443
hostPort: 443
- template: prometheus-27-5-1
name: prometheus
namespace: opencost
values: |
prometheus:
prometheus-pushgateway: { enabled: false }
alertmanager: { enabled: false }
extraScrapeConfigs: |
- job_name: opencost
honor_labels: true
dns_sd_configs: [{ names: [opencost.opencost], type: 'A', port: 9003 }]
- template: opencost-2-3-2
name: opencost
namespace: opencost
values: |
opencost:
opencost:
prometheus:
internal:
namespaceName: opencost
ui:
ingress:
enabled: true
hosts: [{ host: 'opencost.example.com', paths: ['/'] }]