Feedback

Chat Icon

Cloud-Native Microservices With Kubernetes - 2nd Edition

A Comprehensive Guide to Building, Scaling, Deploying, Observing, and Managing Highly-Available Microservices in Kubernetes

Introduction to Helm
91%

Chart Dependencies

Some charts may depend on others.

For instance, since WordPress requires a database to store its data—otherwise, it will not function properly—a WordPress chart depends on a database chart, such as MariaDB or MySQL.

Another example we can consider is the kube-prometheus-stack chart, which depends on several other charts, including:

  • kube-state-metrics
  • node-exporter
  • Grafana

We have used this chart in a previous chapter to deploy Prometheus and Grafana in our cluster, but we installed it using the YAML manifests from the GitHub repository.

Let's see its dependencies when installed as a Helm chart.

Run the following commands:

# Add the Prometheus Community Helm repository
helm repo add prometheus-community \
  https://prometheus-community.github.io/helm-charts

# Download the chart locally
cd $HOME &&
  helm pull prometheus-community/kube-prometheus-stack

# Extract the chart:
tar -xvf kube-prometheus-stack-*.tgz

# Check the `Chart.yaml` file:
cat kube-prometheus-stack/Chart.yaml

You should see a similar output:

apiVersion: v2
appVersion: v0.86.1
[...]
dependencies:
- condition: crds.enabled
  name: crds
  repository: ""
  version: 0.0.0
- condition: kubeStateMetrics.enabled
  name: kube-state-metrics
  repository: https://prometheus-community.github.io/helm-charts
  version

Cloud-Native Microservices With Kubernetes - 2nd Edition

A Comprehensive Guide to Building, Scaling, Deploying, Observing, and Managing Highly-Available Microservices in Kubernetes

Enroll now to unlock all content and receive all future updates for free.