kubernetes - 如何使用 helm chart 自定义 PostgreSQL 配置?
问题描述
我正在尝试将使用 PostgreSQL 作为数据库的应用程序部署到我的 minikube。我使用 helm 作为包管理器,并在我的 requirements.yaml 中添加了 PostgreSQL 依赖项。现在的问题是,如何为该部署设置 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
我已经尝试添加一个配置映射,如 postgres helm chart github 自述文件中所述,但似乎我做错了什么
解决方案
Helm 文档中对此进行了简单的讨论:您的图表values.yaml
文件包含它所包含的图表的配置块。Helm stable/postgresql 图表的 GitHub 页面列出了所有选项。
无论是在您的图表values.yaml
文件中,还是在您传递给helm install -f
选项的单独 YAML 文件中,您都可以设置参数,例如
postgresql:
postgresqlDatabase: stackoverflow
postgresqlPassword: enterImageDescriptionHere
请注意,该图表不会创建非管理员用户(与其同级 MySQL 图表不同)。如果您对具有管理员级别权限(如创建和删除数据库)的“普通”数据库用户没问题,那么您也可以postgresqlUser
在此处设置。
在您自己的图表中,您可以像引用其他任何值一样引用这些值
- name: PGUSER
value: {{ .Values.postgresql.postgresqlUser }}
推荐阅读
- javascript - 尝试使用 Google 脚本从 Google 表格中获取数据并显示在具有水平标签的网页上
- python - 如何将其他模型类整齐地包装在一个类中?
- reactjs - 如何修复 React 中的 setInterval?
- php - 将 SQL 中的 Like 替换为 ENUM
- video-editing - 了解 MLT 熔体混合器亮度混合(褪色)持续时间?
- swift - MTKTextureLoader 导致灰度图像中的条带
- php - 在没有服务器管理员控制的情况下存储数据库凭据
- node.js - 将 Graphicsmagick 作为 AWS Lambda 层运行
- python - 精灵蒙版碰撞不起作用(矩形碰撞起作用)
- javascript - JavaScript地图功能是否损坏