Helm
Installing Crunchy Postgres for Kubernetes Monitoring Helm
This section provides instructions for installing and configuring Crunchy Postgres for Kubernetes Monitoring using Helm.
The Crunchy Postgres for Kubernetes Monitoring Helm chart is hosted on the Crunchy container registry, which supports direct Helm installs.
Installing directly from the registry
Crunchy Data hosts an OCI registry that helm
can use directly. (Not all helm
commands support OCI registries. For more information on which commands can be used, see the Helm documentation.)
You can install Crunchy Postgres for Kubernetes Monitoring directly from the registry using the helm install
command:
helm install crunchy oci://registry.developers.crunchydata.com/crunchydata/crunchy-monitoring
Or to see what values are set in the default values.yaml
before installing, you could run a helm show
command just as you would with any other registry:
helm show values oci://registry.developers.crunchydata.com/crunchydata/crunchy-monitoring
Downloading from the registry
Rather than deploying directly from the Crunchy registry, you can instead use the registry as the source for the Helm chart. You might do this in order to configure the Helm chart before installing.
To do so, download the Helm chart from the Crunchy Container Registry:
# To pull down the most recent Helm chart
helm pull oci://registry.developers.crunchydata.com/crunchydata/crunchy-monitoring
# To pull down a specific Helm chart
helm pull oci://registry.developers.crunchydata.com/crunchydata/crunchy-monitoring --version 0.1.0
Once the Helm chart has been downloaded, uncompress the bundle
tar -xvf crunchy-monitoring-0.1.0.tgz
And from there, you can follow the instructions below on setting the Configuration and installing a local Helm chart.
Configuration
The values.yaml
file for the Helm chart contains all of the available configuration settings for the Monitoring stack. The default values.yaml
settings should work in most Kubernetes environments, but it may require some customization depending on your specific environment and needs.
For instance, it might be necessary to change the image versions for Alertmanager, Grafana, and/or Prometheus or to apply certain labels, etc. Each segment of the Monitoring stack has its own section. So if you needed to update only the Alertmanager image, you would update the alertmanager.image
field.
Security Configuration
By default, the Crunchy Postgres for Kubernetes Monitoring Helm chart sets the securityContext.fsGroup
to 26
for the Deployments comprising the Monitoring stack (i.e., Alertmanager, Grafana, and Prometheus).
In most Kubernetes environments this setting is needed to ensure processes within the container have the permissions needed to write to any volumes mounted to each of the Pods comprising the Monitoring stack. However, when installing in an OpenShift environment (and more specifically when using the restricted
Security Context Constraint), the fsGroup
setting should be removed since OpenShift will automatically handle setting the proper fsGroup
within the Pod's securityContext
.
The fsGroup
setting can be removed by setting the openShift
value to true
. This can be done either by changing the value in the values.yaml
file or by setting the value on the command line during installation or upgrade:
helm install crunchy oci://registry.developers.crunchydata.com/crunchydata/crunchy-monitoring --set openShift=true
If you need to make additional changes to pod's securityContext
, it may be necessary to download the Helm chart and alter the Deployments directly rather than setting values in the values.yaml
. For instance, if it is necessary to modify the supplementalGroups
setting according to your specific storage configuration, you will need to update the Deployment files:
templates/alertmanager/deployment.yaml
templates/grafana/deployment.yaml
templates/prometheus/deployment.yaml
Compute and Storage Resources Configuration
To set appropriate constraints on compute resources for the Grafana, Prometheus and/or AlertManager Deployments, update the Deployment files:
templates/alertmanager/deployment.yaml
templates/grafana/deployment.yaml
templates/prometheus/deployment.yaml
Similarly, to modify the configuration for the various storage resources (i.e. PersistentVolumeClaims) created by the Monitoring installer, the pvc.yaml
file can also be modified for the Alertmanager, Grafana, and Prometheus segments of the Monitoring stack.
Additional Configuration
Like the Kustomize installation, the Crunchy Postgres for Kubernetes Monitoring stack installation includes ConfigMaps with configurations for the various Deployments. It is possible to further customize the configuration for the various components comprising the Monitoring stack (Grafana, Prometheus and/or AlertManager) by modifying the configuration resources, which are located in the config
directory:
alertmanager.yml
crunchy-alert-rules-pg.yml
crunchy_grafana_datasource.yml
prometheus.yml
If you want to make changes to the Grafana dashboards, those configurations and dashboard json files are located in the dashboards
directory. If you wish to add a new dashboard as part of your Helm chart, you can accomplish that by putting the json file in the dashboards
directory. All the json files in that directory are imported by the Helm chart and loaded in the Grafana configuration.
Finally, please note that the default username and password for Grafana can be updated by modifying the values.yaml
:
grafana:
admin:
password: admin
username: admin
Uninstall
To uninstall the Monitoring stack, use the helm uninstall
command:
helm uninstall crunchy -n $NAMESPACE