Note: This project is now archived. Unfortunately I don't have the time to maintain this chart or test PRs / respond to issues. Please feel free to fork it and take it in your own direction.
This is a single Helm chart that deploys a pgAdmin instance to your Kubernetes cluster.
This install assumes you have an existing Kubernetes cluster installed and a postgresql instance deployed.
TLS support requires the cert-manager Kubernetes add-on to be deployed into your cluster.
The defaults in values.yaml will make your pgAdmin deployment accessible by its IP address over plaintext HTTP.
To access your pgAdmin instance using a domain name over plaintext HTTP:
- set
service.typetoNodePort - set
ingress.enabledtotrue - reserve a static IP address in your Kubernetes cluster (using e.g.
gcloud compute addresses create my-pgadmin-static-ip --globalfor GCP) - set
ingress.staticIPReservationto the name of the static IP address reservation you created in step 3 - At your domain registrar, create an A record pointing to the static IP address you reserved in step 3
To access your pgAdmin instance using a domain name over HTTPS, do the above steps, and as well:
- Set
ingress.tls.enabledtotrue - Set
ingress.tls.clusterIssuerto the name of a cert-managerClusterIssuerdeployed in your Kubernetes cluster - Set
ingress.tls.externalDNSNameto the (fully-qualified) domain name you registered in step 5
Once you've cloned this repo, you can create your helm package by running the following command in the repo's root directory:
helm package .
After packaging the chart, you then install it into your Kubernetes cluster by targeting the packaged archive:
helm install pgadmin-0.1.0.tgz
Optionally, you can provide a custom username and password:
helm install --set pgadmin.username=myuser,pgadmin.password=mypassword pgadmin-0.1.0.tgz
The deployment will take a while to provision a public IP for the service. You can watch for this using the following command:
kubectl get svc -w -l app=pgadmin
When the deployment has finished and you have an external IP for your pgAdmin service, you can go to the pgAdmin portal at http://{external-ip}:5050/.
Default Credentials:
username: pgadmin4@pgadmin.org
password: admin
Once logged in, add a new server and provide the Cluster IP, username and password for your postgres service.