This Helm chart installs pgAdmin in a Kubernetes cluster.
- Kubernetes cluster 1.10+
- Helm 2.8.0+
- PV provisioner support in the underlying infrastructure.
helm repo add cetic https://cetic.github.io/helm-charts
helm repo update
The following items can be set via --set
flag during installation or configured by editing the values.yaml
directly (need to download the chart first).
- Ingress: The ingress controller must be installed in the Kubernetes cluster.
- ClusterIP: Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster.
- NodePort: Exposes the service on each Node’s IP at a static port (the NodePort). You’ll be able to contact the NodePort service, from outside the cluster, by requesting
NodeIP:NodePort
. - LoadBalancer: Exposes the service externally using a cloud provider’s load balancer.
- Disable: The data does not survive the termination of a pod.
- Persistent Volume Claim(default): A default
StorageClass
is needed in the Kubernetes cluster to dynamic provision the volumes. Specify another StorageClass in thestorageClass
or setexistingClaim
if you have already existing persistent volumes to use.
Install the pgAdmin helm chart with a release name my-release
:
helm install --name my-release cetic/pgadmin
To uninstall/delete the my-release
deployment:
helm delete --purge my-release
The following table lists the configurable parameters of the pgAdmin chart and the default values.
Parameter | Description | Default |
---|---|---|
Image | ||
image.repository |
pgAdmin Image name | dpage/pgadmin4 |
image.tag |
pgAdmin Image tag | 4.10 |
image.pullPolicy |
pgAdmin Image pull policy | IfNotPresent |
PgAdmin | ||
pgadmin.username |
pgAdmin admin user | [email protected] |
pgadmin.password |
pgAdmin admin password | admin |
pgadmin.tls |
pgAdmin admin TLS. the container will listen on port 80 for connections in plain text. If set to any value, the container will listen on port 443 for TLS connections. When TLS is enabled, a certificate and key must be provided. See secrets file | false |
Persistence | ||
persistence.enabled |
Enable the data persistence or not | true |
persistence.existingClaim |
Provide an existing PersistentVolumeClaim, the value is evaluated as a template | nil |
persistence.storageClass |
PVC Storage Class for PostgreSQL volume | nil |
persistence.accessMode |
The access mode of the volume | ReadWriteOnce |
persistence.size |
The size of the volume | 4Gi |
Service | ||
service.type |
Type of service for pgAdmin frontend | LoadBalancer |
service.port |
Port to expose service | 80 |
service.tlsport |
Port to expose service in tls, pgadmin.tls must be enabled |
443 |
service.loadBalancerIP |
LoadBalancerIP if service type is LoadBalancer |
nil |
service.loadBalancerSourceRanges |
Address that are allowed when svc is LoadBalancer |
[] |
service.annotations |
Service annotations | {} |
Ingress | ||
ingress.enabled |
Enables Ingress | false |
ingress.annotations |
Ingress annotations | {} |
ingress.path |
Path to access frontend | / |
ingress.hosts |
Ingress hosts | [] |
ingress.tls |
Ingress TLS configuration | [] |
ReadinessProbe | ||
readinessProbe |
Rediness Probe settings | { "httpGet": { "path": "/", "port": http } "initialDelaySeconds": 60, "periodSeconds": 15, "timeoutSeconds": 10 } |
LivenessProbe | ||
livenessProbe |
Liveness Probe settings | { "httpGet": { "path": "/", "port": http } "initialDelaySeconds": 60, "periodSeconds": 30, "timeoutSeconds": 10 } |
Resources | ||
resources |
CPU/Memory resource requests/limits | {} |
Initially inspired from https://github.com/jjcollinge/pgadmin-chart, which is archived.