...
Create a Namespace for the HiveMQ/Postgres deployment. You can skip this step you want to run everything in “default” namespace.
Execute the following command to create a namespace:
Code Block language bash kubectl create namespace <namespace name>
Switch to the newly created namespace:
Code Block language bash kubectl config set-context --current --namespace=<namespace name>
Deploy Postgres
Add the Bitnami Helm repository:
Code Block language bash helm repo add bitnami <https://charts.bitnami.com/bitnami>
Create a
postgres_values.yaml
file to configure Postgres deployment:Code Block language yaml global: storageClass: "rook-ceph-block" postgresql: auth: password: password postgresPassword: password username: admin primary: initdb: scriptsConfigMap: ese-db-init
Create a ConfigMap called
ese-db-init
containing theese-db-init.sql
script, which creates tables and inserts necessary data for testing purposes:View file name ese-db-init.sql View file name permissions.sql Code Block language bash kubectl create configmap ese-db-init --from-file ese-db-init.sql --from-file permissions.sql
Deploy Postgres using Helm:
Code Block language bash helm upgrade postgres --install bitnami/postgresql --values postgres_values.yaml
Verify the status of the pod:
Code Block language bash kubectl get pods
If an error occurs, check the pod logs:
Code Block language bash kubectl logs <pod name>
Connect to the Postgres pod to verify the connection:
Code Block language bash psql --host 127.0.0.1 -U postgres -d postgres -p 5432
Use the following commands in the Postgres shell to interact with the database:
\l
: List the databases.\c <db name>
: Connect to a specific database.\dt
: List the tables from the connected database.select * from users;
...