【发布时间】:2019-10-24 04:53:00
【问题描述】:
在 Kubernetes 中,来自 ConfigMap 的环境变量不会更改 PostgreSql pod 中的 max_connections 属性。如何通过 Kubernetes 中的环境变量更改 Postgres max_connections 配置?
我尝试了以下参数来配置 Postgres。
问题是,我可以使用 DB、USER 和 PASSWORD 参数和值按预期设置。但我需要更改 max_connections 配置。我进行了相关研究,看起来 PGOPTIONS 是发送配置更改的正确选择。即使我尝试了 PGOPTIONS 和其他变体,对 max_connections 值也没有影响。我正在连接 postgresql 并且正在执行 SHOW MAX_CONNECTIONS 查询,即使我在环境配置值中指定 1000,它也会显示 100。
我在 digitalocean 中使用 Kubernetes 1.14。
配置映射
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config-demo
labels:
app: postgres
data:
POSTGRES_DB: demopostgresdb
POSTGRES_USER: demopostgresadmin
POSTGRES_PASSWORD: demopostgrespwd
PGOPTIONS: "-c max_connections=1000 -c shared_buffers=1024MB"
POSTGRES_OPTIONS: "-c max_connections=1000 -c shared_buffers=1024MB"
PG_OPTIONS: "-c max_connections=1000 -c shared_buffers=1024MB"
MAX_CONNECTIONS: "1000"
有状态集
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: pgdemo
spec:
serviceName: "postgres"
replicas: 2
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:latest
envFrom:
- configMapRef:
name: postgres-config-demo
env:
- name: PGOPTIONS
value: "-c max_connections=1000 -c shared_buffers=1024MB"
- name: "MAX_CONNECTIONS"
value: "1000"
ports:
- containerPort: 5432
name: postgredb
volumeMounts:
- name: postgredb
mountPath: /var/lib/postgresql/data
subPath: postgres
volumeClaimTemplates:
- metadata:
name: postgredb
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: do-block-storage
resources:
requests:
storage: 3Gi
我希望 max_connections 值为 1000。 但它看起来像 100 这样的默认值。
任何日志都没有错误。
【问题讨论】:
标签: postgresql kubernetes digital-ocean