kubernetes Kubectl不允许验证进入psql

jdg4fx2g  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(1)|浏览(238)

我正在尝试为我的k8配置postgres。但是在启动postgres pod后,我收到一个错误:

  1. "psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "amigoscode" does not exist"

以下是我的配置图:

  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4. name: postgres-config
  5. data:
  6. POSTGRES_DB: amigoscode
  7. POSTGRES_USER: amigoscode
  8. POSTGRES_PASSWORD: password

有状态设置:

  1. apiVersion: apps/v1
  2. kind: StatefulSet
  3. metadata:
  4. name: postgres
  5. labels:
  6. app: postgres
  7. spec:
  8. serviceName: postgres
  9. replicas: 1
  10. template:
  11. metadata:
  12. name: postgres
  13. labels:
  14. app: postgres
  15. spec:
  16. volumes:
  17. - name: postgres
  18. persistentVolumeClaim:
  19. claimName: postgres-pc-volume-claim
  20. containers:
  21. - name: postgres
  22. image: postgres
  23. imagePullPolicy: IfNotPresent
  24. volumeMounts:
  25. - mountPath: "/var/lib/postgresql/data"
  26. name: postgres
  27. envFrom:
  28. - configMapRef:
  29. name: postgres-config
  30. resources:
  31. requests:
  32. cpu: 100m
  33. memory: 256Mi
  34. limits:
  35. cpu: 500m
  36. memory: 512Mi
  37. restartPolicy: Always
  38. selector:
  39. matchLabels:
  40. app: postgres

我使用kubectl apply -f<folder_name>命令来启动和构建我的postgres-pod

nkhmeac6

nkhmeac61#

您应该添加如下服务:

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: postgres
  5. spec:
  6. type: NodePort
  7. ports:
  8. - port: 5432
  9. selector:
  10. app: postgres

将容器端口指定到StatefulSet中

  1. ports:
  2. - containerPort: 5432

然后使用以下命令访问数据库:

  1. psql -v -U amigoscode --dbname amigoscode -h <host> <<-EOSQL
  2. <psql lines>
  3. EOSQL
展开查看全部

相关问题