mirror of https://github.com/helm/helm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.4 KiB
2.4 KiB
Store release information in an SQL database
You may be willing to store release information in an SQL database - in particular, if your releases weigh more than 1MB and therefore can't be stored in ConfigMaps or Secrets.
We recommend using PostgreSQL.
This document describes how to deploy postgres atop Kubernetes. This being
said, using an out-of-cluster (managed or not) PostreSQL instance is totally
possible as well.
Here's a Kubernetes manifest you can apply to get a minimal PostreSQL pod running on your Kubernetes cluster. Don't forget to change the credentials and, optionally, enable TLS in production deployments.
apiVersion: v1
kind: Service
metadata:
name: tiller-postgres
namespace: kube-system
spec:
ports:
- port: 5432
selector:
app: helm
name: postgres
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: tiller-postgres
namespace: kube-system
spec:
serviceName: tiller-postgres
selector:
matchLabels:
app: helm
name: postgres
replicas: 1
template:
metadata:
labels:
app: helm
name: postgres
spec:
containers:
- name: postgres
image: postgres:11-alpine
imagePullPolicy: Always
ports:
- containerPort: 5432
env:
- name: POSTGRES_DB
value: helm
- name: POSTGRES_USER
value: helm
- name: POSTGRES_PASSWORD
value: changemeforgodssake
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
resources:
limits:
memory: 128Mi
requests:
cpu: 50m
memory: 128Mi
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: tiller-postgres-data
volumeClaimTemplates:
- metadata:
name: tiller-postgres-data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: default
resources:
requests:
storage: 5Gi
Once postgres is deployed, you'll need to install Tiller using helm init, with
a few custom CLI flags:
helm init \
--override \
'spec.template.spec.containers[0].args'='{--storage=sql,--sql-dialect=postgres,--sql-connection-string=postgresql://tiller-postgres:5432/helm?user=helm&password=changemeforgodssake&sslmode=disable}'