我正在尝试将使用PostgreSQL作为数据库的应用程序部署到我的minikube。我使用helm作为包管理器,并添加了PostgreSQL依赖项到我的requirements.yaml中。现在的问题是,如何为该部署设置postgres用户,数据库和密码?这是我的templates/applicaion.yaml
apiVersion: v1
kind: Service
metadata:
name: {{ template "sgm.fullname" . }}-service
spec:
type: NodePort
selector:
app: {{ template "sgm.fullname" . }}
ports:
- port: 80
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ template "sgm.fullname" . }}-deployment
spec:
replicas: 2
selector:
matchLabels:
app: {{ template "sgm.fullname" . }}
template:
metadata:
labels:
app: {{ template "sgm.fullname" . }}
spec:
containers:
- name: sgm
image: mainserver/sgm
env:
- name: POSTGRES_HOST
value: {{ template "postgres.fullname" . }}.default.svc.cluster.local
我尝试添加一个configmap,如postgres掌舵图github自述文件中所述,但似乎我做错了事
答案 0 :(得分:2)
这是lightly discussed in the Helm documentation:图表的values.yaml
文件包含它包含的图表的配置块。 Helm stable/postgresql chart的GitHub页面列出了所有选项。
在图表的values.yaml
文件中,或者在传递到helm install -f
选项的单独的YAML文件中,您都可以设置参数,例如
postgresql:
postgresqlDatabase: stackoverflow
postgresqlPassword: enterImageDescriptionHere
请注意,该图表不会创建非管理员用户(与其同级的MySQL图表不同)。如果您对具有管理员级别特权(例如创建和删除数据库)的“普通”数据库用户没问题,则也可以在此处设置postgresqlUser
。
在您自己的图表中,您可以像引用其他任何值一样引用这些值
- name: PGUSER
value: {{ .Values.postgresql.postgresqlUser }}