Skip to content

Quick-Start

  • Running Kubernetes Cluster
  • Container Storage Interface (CSI)
  • LoadBalancer like Metallb

Required Charts for most Truecharts Charts

Section titled “Required Charts for most Truecharts Charts”

Install the following charts if not already installed:


Truecharts relies on multiple Charts for functionality like Postgres Databases and Metrics. Therefore we require certain Charts to be installed. Below you will find example configurations for most of them:

Cert-Manager is used together with our clusterissuer to create SSL certificates for ingress. The chart installation can be found here.

Example configuration:

crds:
enabled: true
dns01RecursiveNameservers: "1.1.1.1:53,1.0.0.1:53"
dns01RecursiveNameserversOnly: false
enableCertificateOwnerRef: true

Cloudnative-PG is used for Postgres databases in many of our charts. The chart can be found here.

Example configuration:

crds:
create: true

Kube-promotheus-stack is used for metrics. The chart can be found here.

As we provide our own grafana with included dashboard. We recommend to disable grafana and add a few tweaks in the kube-prometheus-stack:

grafana:
enabled: false
forceDeployDashboards: true
defaultDashboardsEnabled: true
forceDeployDatasources: true
crds:
enabled: true
upgradeJob:
enabled: true
forceConflicts: true
cleanPrometheusOperatorObjectNames: true
alertmanager:
enabled: false
kubeProxy:
enabled: false
kubeEtcd:
service:
selector:
component: kube-apiserver # etcd runs on control plane nodes
prometheus:
prometheusSpec:
podMonitorSelectorNilUsesHelmValues: false
probeSelectorNilUsesHelmValues: false
ruleSelectorNilUsesHelmValues: false
scrapeConfigSelectorNilUsesHelmValues: false
serviceMonitorSelectorNilUsesHelmValues: false
enableAdminAPI: true
walCompression: true
enableFeatures:
- memory-snapshot-on-shutdown
retention: 14d
retentionSize: 50GB
resources:
requests:
cpu: 75m
memory: 500Mi
limits:
memory: 2000Mi

We generally advice to run the full kube-prometheus-stack but as it is quite resource intensive you can run the minimum requirement which only requires to add the CRDs. This can be done like this:

crds:
enabled: true
upgradeJob:
enabled: true
forceConflicts: true
prometheusOperator:
enabled: false
## Everything down here, explicitly disables everything except CRDs and grafana dashboards
global:
rbac:
create: false
defaultRules:
create: false
windowsMonitoring:
enabled: false
prometheus-windows-exporter:
prometheus:
monitor:
enabled: false
alertmanager:
enabled: false
grafana:
enabled: false
forceDeployDashboards: true
defaultDashboardsEnabled: true
forceDeployDatasources: true
kubernetesServiceMonitors:
enabled: true
kubeApiServer:
enabled: false
kubelet:
enabled: false
kubeControllerManager:
enabled: false
coreDns:
enabled: false
kubeDns:
enabled: false
kubeEtcd:
enabled: false
kubeScheduler:
enabled: false
kubeProxy:
enabled: false
kubeStateMetrics:
enabled: false
nodeExporter:
enabled: false
prometheus:
enabled: false
thanosRuler:
enabled: false