2 min read | by Jordi Prats
When you are installing or upgrading a helm chart sometimes feels like an act of faith: You don't really know what it's going to actually deploy. With the --dry-run option
We can add the --dry-run option to the install and upgrade commands so we can get the yaml files that it's going to render and apply to the kubernetes cluster, but without actually applying them. This is how it's going to look like:
$ helm upgrade pet2cattle -f pet2cattle_values.yaml . --dry-run
Release "pet2cattle" has been upgraded. Happy Helming!
NAME: pet2cattle
LAST DEPLOYED: Wed Dec 30 10:58:42 2020
NAMESPACE: kube-system
STATUS: pending-upgrade
REVISION: 59
TEST SUITE: None
HOOKS:
MANIFEST:
---
# Source: pet2cattle/charts/minio/templates/post-install-prometheus-metrics-serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: pet2cattle-minio-update-prometheus-secret
labels:
app: minio-update-prometheus-secret
chart: minio-8.0.8
release: pet2cattle
heritage: Helm
---
(...)
---
# Source: pet2cattle/templates/22-ingress_https.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: pet2cattle-https
labels:
helm.sh/chart: pet2cattle-1
app.kubernetes.io/name: pet2cattle
app.kubernetes.io/instance: pet2cattle
app.kubernetes.io/version: "2.6"
app.kubernetes.io/managed-by: Helm
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
tls:
- hosts:
- "pet2cattle.com"
secretName: k3s-p2c
rules:
- host: "pet2cattle.com"
http:
paths:
- backend:
serviceName: pet2cattle
servicePort: 8000
- host: "www.pet2cattle.com"
http:
paths:
- backend:
serviceName: pet2cattle
servicePort: 8000
NOTES:
1. Get the application URL by running these commands:
As you can see there is some other data that it's also rendered, so it's not something we can just pipe directly to kubectl diff but with some grep-ing we work it out
Posted on 08/01/2021