Я действительно пытаюсь понять, как мое приложение, развернутое в --dev namespace
, может подключиться к базе данных postgreSQL, которую я развернул независимо, используя helm с --database namespace
. Пока что я сделал следующее:
База данных и myapp развернули другое пространство имен. Я просто скопировал имя PGHOST,PGPASSWORD
из некоторых примеров, но я не уверен, где я должен использовать это имя, и должно ли оно быть где-то в postgreSQL?
Должен ли я позаботиться о чем-нибудь еще для подключения к базе данных или есть что-то, что не является лучшей практикой? Должен ли я добавить пространство имен в jdb c url?
Локально, мы подключаемся к базе данных, используя параметры ниже, но каким должен быть путь после развертывания нашего приложения через helm? Мы используем sequelize в качестве клиентской библиотеки
const connectionString = postgres://${global.config.database_username}:${global.config.database_password}@${global.config.database_host}:${global.config.database_port}/${global.config.database_name};
postgres значения
## Specify PGDATABASE
##
DBName: db
После того, как я развернул postgres;
# of replicas: 3
service name: my-postgres-postgresql-helm
service port: 64000
database name: db
database user: admin
jdbc url: jdbc:postgresql://my-postgres-postgresql-helm:port
deploy.yaml
- name: PGHOST
valueFrom:
configMapKeyRef:
name: {{ .Release.Name }}-configmap
key: jdbc-url
- name: PGDATABASE
value: {{ .Values.postgres.database name | quote }}
- name: PGPASSWORD
value: "64000"
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "my-mp.name" . }}
key: POSTGRES_PASSWORD
configmaps.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
labels:
app.kubernetes.io/name: {{ include "my-mp.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
helm.sh/chart: {{ include "my-mp.chart" . }}
data:
jdbc-url: jdbc:postgresql://my-postgres-postgresql-helm..
values.yaml
postgres:
service name: my-postgres-postgresql-helm
service port: 64000
database name: db
database user: admin