postgresql 创建postgres容器时,Kubernetes中忽略环境POSTGRES_INITDB_ARGS

xytpbqjk  于 2023-04-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(99)

我正在尝试使用env POSTGRES_INITDB_ARGS为postgres容器设置lc-collate参数。但是这个env被忽略了,在部署应用后,我得到了默认值lc_collate
这是我的部署

apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-postgres-1
  labels:
    app: example-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: example-app
      tier: postgres
  template:
    metadata:
      labels:
        app: example-app
        tier: postgres
    spec:
      containers:
        - image: postgres
          name: postgres
          env:
            - name: POSTGRES_INITDB_ARGS
              value: --lc-collate=C
            - name: POSTGRES_DB
              value: postgres
            - name: POSTGRES_USER
              value: user
            - name: POSTGRES_PASSWORD
              value: user
            - name: PGDATA
              value: /var/lib/postgresql/data/pgdata
          ports:
            - containerPort: 5432
              name: postgres
          volumeMounts:
            - name: example-postgres
              mountPath: /var/lib/postgresql/data
          args: ["-c", "max_connections=200"]
      volumes:
        - name: example-postgres
          persistentVolumeClaim:
            claimName: example-postgres

同时,我尝试设置**POSTGRES_INITDB_ARGS:“--lc-collate=C”**通过使用docker-compose:

version: "3.9"
services:
  postgres:
    image: postgres:13.3
    environment:
      POSTGRES_DB: "postgresTest"
      POSTGRES_USER: "user"
      POSTGRES_PASSWORD: "user"
      POSTGRES_INITDB_ARGS: "--lc-collate=C"
    ports:
      - "3432:5432"

对我很有效
我在kuberntes部署中设置POSTGRES_INITDB_ARGS做错了什么?如果不对,如何通过创建容器creting来设置lc_collate
我正在尝试使用env POSTGRES_INITDB_ARGS为postgres容器设置lc-collate参数。但是这个env被忽略了,在应用后,我得到了默认值lc_collate

8hhllhi2

8hhllhi21#

你的文件看起来没问题。我已经申请了我的GKE集群1你的清单,它似乎工作正常。
但是,在docker compose中,posgres版本是13.3,而在k8s manifest中,它的版本是latest(不是最新版本)。试着设置13。3在舱单太和检查,如果它的工作

相关问题