Merge pull request #53 from kubecost/main-source

Migrate Kubecost cost-analyzer v1.70.0
pull/62/head
Steven Crespo 2020-12-21 11:54:24 -08:00 committed by GitHub
commit 68ad5f930f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 206 additions and 0 deletions

View File

@ -8,3 +8,13 @@ diff -x '*.tgz' -x '*.lock' -uNr packages/datadog/charts-original/Chart.yaml pac
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: datadog
diff -x '*.tgz' -x '*.lock' -uNr packages/datadog/charts-original/requirements.yaml packages/datadog/charts/requirements.yaml
--- packages/datadog/charts-original/requirements.yaml
+++ packages/datadog/charts/requirements.yaml
@@ -1,5 +1,5 @@
dependencies:
- name: kube-state-metrics
version: "=2.8.11"
- repository: https://kubernetes-charts.storage.googleapis.com/
+ repository: https://charts.helm.sh/stable
condition: datadog.kubeStateMetricsEnabled

View File

@ -0,0 +1,11 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/kubecost/charts-original/Chart.yaml packages/kubecost/charts/Chart.yaml
--- packages/kubecost/charts-original/Chart.yaml
+++ packages/kubecost/charts/Chart.yaml
@@ -4,3 +4,7 @@
cloud costs.
name: cost-analyzer
version: 1.70.0
+icon: https://kubecost.com/images/logo-white.png
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: kubecost

View File

@ -0,0 +1,23 @@
# Kubecost
[Kubecost](https://kubecost.com/) is an open-source Kubernetes cost monitoring solution.
Kubecost gives teams visibility into current and historical Kubernetes spend and resource allocation. These models provide cost transparency in Kubernetes environments that support multiple applications, teams, departments, etc.
To see more on the functionality of the full Kubecost product, please visit the [features page](https://kubecost.com/#features) on our website.
Here is a summary of features enabled by this cost model:
- Real-time cost allocation by Kubernetes service, deployment, namespace, label, statefulset, daemonset, pod, and container
- Dynamic asset pricing enabled by integrations with AWS, Azure, and GCP billing APIs
- Supports on-prem k8s clusters with custom pricing sheets
- Allocation for in-cluster resources like CPU, GPU, memory, and persistent volumes.
- Allocation for AWS & GCP out-of-cluster resources like RDS instances and S3 buckets with key (optional)
- Easily export pricing data to Prometheus with /metrics endpoint ([learn more](PROMETHEUS.md))
- Free and open source distribution (Apache2 license)
## Requirements
- Kubernetes 1.8+
- kube-state-metrics
- Grafana
- Prometheus
- Node Exporter

View File

@ -0,0 +1,160 @@
questions:
# General Settings
- variable: kubecostProductConfigs.clusterName
label: Cluster Name
description: "Used for display in the cost-analyzer UI (Can be renamed in the UI)"
type: string
required: true
default: ""
group: General Settings
- variable: persistentVolume.enabled
label: Enable Persistent Volume for CostAnalyzer
description: "If true, Kubecost will create a Persistent Volume Claim for product config data"
type: boolean
default: false
show_subquestion_if: true
group: "General Settings"
subquestions:
- variable: persistentVolume.size
label: CostAnalyzer Persistent Volume Size
type: string
default: "0.2Gi"
# Prometheus Server
- variable: global.prometheus.enabled
label: Enable Prometheus
description: If false, use an existing Prometheus install
type: boolean
default: true
group: "Prometheus"
- variable: prometheus.kubeStateMetrics.enabled
label: Enable KubeStateMetrics
description: "If true, deploy kube-state-metrics for Kubernetes metrics"
type: boolean
default: true
show_if: "global.prometheus.enabled=true"
group: "Prometheus"
- variable: prometheus.server.retention
label: Prometheus Server Retention
description: "Determines when to remove old data"
type: string
default: "15d"
show_if: "global.prometheus.enabled=true"
group: "Prometheus"
- variable: prometheus.server.persistentVolume.enabled
label: Create Persistent Volume for Prometheus
description: "If true, prometheus will create a persistent volume claim"
type: boolean
required: true
default: false
group: "Prometheus"
show_if: "global.prometheus.enabled=true"
show_subquestion_if: true
subquestions:
- variable: prometheus.server.persistentVolume.size
label: Prometheus Persistent Volume Size
type: string
default: "8Gi"
- variable: prometheus.server.persistentVolume.storageClass
label: Prometheus Persistent Volume StorageClass
description: "Prometheus data persistent volume storageClass, if not set use default StorageClass"
default: ""
type: storageclass
- variable: prometheus.server.persistentVolume.existingClaim
label: Existing Persistent Volume Claim for Prometheus
description: "If not empty, uses the specified existing PVC instead of creating new one"
type: pvc
default: ""
# Prometheus Node Exporter
- variable: prometheus.nodeExporter.enabled
label: Enable NodeExporter
description: "If false, do not create NodeExporter daemonset"
type: boolean
default: true
group: "NodeExporter"
- variable: prometheus.serviceAccounts.nodeExporter.create
label: Enable Service Accounts NodeExporter
description: "If false, do not create NodeExporter daemonset"
type: boolean
default: true
group: "NodeExporter"
# Prometheus AlertManager
- variable: prometheus.alertmanager.enabled
label: Enable AlertManager
type: boolean
default: true
group: "AlertManager"
- variable: prometheus.alertmanager.persistentVolume.enabled
label: Create Persistent Volume for AlertManager
description: "If true, alertmanager will create a persistent volume claim"
type: boolean
required: true
default: false
group: "AlertManager"
show_if: "prometheus.alertmanager.enabled=true"
show_subquestion_if: true
subquestions:
- variable: prometheus.alertmanager.persistentVolume.size
default: "2Gi"
description: "AlertManager data persistent volume size"
type: string
label: AlertManager Persistent Volume Size
- variable: prometheus.alertmanager.persistentVolume.storageClass
default: ""
description: "Alertmanager data persistent volume storageClass, if not set use default StorageClass"
type: storageclass
label: AlertManager Persistent Volume StorageClass
- variable: prometheus.alertmanager.persistentVolume.existingClaim
default: ""
description: "If not empty, uses the specified existing PVC instead of creating new one"
type: pvc
label: Existing Persistent Volume Claim for AlertManager
# PushGateway
- variable: prometheus.pushgateway.enabled
label: Enable PushGateway
type: boolean
default: true
group: "PushGateway"
- variable: prometheus.pushgateway.persistentVolume.enabled
label: Create Persistent Volume for PushGateway
description: "If true, PushGateway will create a persistent volume claim"
required: true
type: boolean
default: false
group: "PushGateway"
show_if: "prometheus.pushgateway.enabled=true"
show_subquestion_if: true
subquestions:
- variable: prometheus.prometheus.pushgateway.persistentVolume.size
label: PushGateway Persistent Volume Size
type: string
default: "2Gi"
- variable: prometheus.pushgateway.persistentVolume.storageClass
label: PushGateway Persistent Volume StorageClass
description: "PushGateway data persistent volume storageClass, if not set use default StorageClass"
type: storageclass
default: ""
- variable: prometheus.pushgateway.persistentVolume.existingClaim
label: Existing Persistent Volume Claim for PushGateway
description: "If not empty, uses the specified existing PVC instead of creating new one"
type: pvc
default: ""
# Services and Load Balancing
- variable: ingress.enabled
label: Enable Ingress
description: "Expose app using Ingress (Layer 7 Load Balancer)"
default: true
type: boolean
show_subquestion_if: true
group: "Services and Load Balancing"
subquestions:
- variable: ingress.hosts[0]
default: "xip.io"
description: "Hostname to your CostAnalyzer installation"
type: hostname
required: true
label: Hostname

View File

@ -0,0 +1,2 @@
url: https://kubecost.github.io/rancher-helm-chart/cost-analyzer-1.70.0.tgz
packageVersion: 00