Skip to content

โš™๏ธ Helm Upgrade Standaloneยถ

๐Ÿ”ง Helm Upgrade Standalone HOWTOยถ

This guide provides step-by-step instructions for upgrading, rolling back, and templating Helm charts in standalone mode, optimized for Kubernetes environments using the Unibeam platform.

๐ŸŽฏ Helm Templating Commandsยถ

Use the following commands to render Helm templates for various services and environments:

helm template --debug ../../../../kubernetes/Helm/kube-prometheus-stack/ \
  --name-template kube-prometheus-stack \
  -n monitoring \
  --values values.yaml

helm template --debug ./ \
  --name-template sim-service \
  -n demo \
  --values ../../../argocd/services-applications/demo/apps/sim-service/values.yaml

helm template --debug ./ \
  --name-template sia-dashboard-web \
  -n sia-dashboard \
  --values ../../../argocd/services-applications/demo/apps/sia-dashboard-web/values-demo.yaml \
  --values ../../../argocd/services-applications/demo/apps/sia-dashboard-web/values.yaml

โฎ๏ธ Rollback Helm Releasesยถ

Get the release history:

helm history kube-prometheus-stack -n monitoring

Rollback to a specific revision:

helm rollback kube-prometheus-stack 19 -n monitoring

๐Ÿ“ Context Managementยถ

Switch between Kubernetes contexts:

kubectl config get-contexts
kubectl config current-context
kubectl config use-context arn:aws:eks:us-east-1:226177691629:cluster/tim-poc

๐Ÿ“ฆ Install Helm Chartยถ

Install a chart into the monitoring namespace:

helm install kube-prometheus-stack -n monitoring ./

โœ… Check Helm Template Formatยถ

Render and check Helm templates for various charts:

helm template ../../../Helm/kube-prometheus-stack \
  --name-template kube-prometheus-stack \
  --namespace monitoring \
  --values values.yaml

helm template ../../../Helm/promtail \
  --name-template logz \
  -n monitoring \
  --values values.yaml \
  --debug

โฌ†๏ธ Helm Upgradeยถ

Upgrade a chart and override values:

helm upgrade --reuse-values --set foo=bar --set foo=newbar redis ./redis

Upgrade with existing values and enable service monitors:

helm upgrade --reuse-values \
  --set server.metrics.serviceMonitor.enabled=true \
  --set controller.metrics.serviceMonitor.enabled=true \
  --set applicationSet.metrics.serviceMonitor.enabled=true \
  argocd argo/argo-cd --namespace argocd

๐Ÿšฉ Service Monitor Flagsยถ

Enable metrics for various components by setting these flags in your values file:

applicationSet.metrics.serviceMonitor.enabled
controller.metrics.serviceMonitor.enabled
dex.metrics.serviceMonitor.enabled
notifications.metrics.serviceMonitor.enabled
redis.metrics.serviceMonitor.enabled
repoServer.metrics.serviceMonitor.enabled
server.metrics.serviceMonitor.enabled

Helm Template Debugging

Use --debug and --reuse-values to troubleshoot and maintain existing configuration during upgrades.

Namespace Usage

Always specify the correct namespace with -n <namespace> to avoid accidental deployments in the default namespace.


๐Ÿ“š Referenceยถ

  • https://loft.sh/blog/kubectl-get-context-its-uses-and-how-to-get-started