繁体   English   中英

Kubectl 不允许对 psql 进行身份验证

[英]Kubectl doesn't let to authenticate into psql

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

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

这是我的配置图:

apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
data:
  POSTGRES_DB: amigoscode
  POSTGRES_USER: amigoscode
  POSTGRES_PASSWORD: password

状态集:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: postgres
  labels:
    app: postgres
spec:
  serviceName: postgres
  replicas: 1
  template:
    metadata:
      name: postgres
      labels:
        app: postgres
    spec:
      volumes:
        - name: postgres
          persistentVolumeClaim:
            claimName: postgres-pc-volume-claim
      containers:
        - name: postgres
          image: postgres
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - mountPath: "/var/lib/postgresql/data"
              name: postgres
          envFrom:
            - configMapRef:
                name: postgres-config
          resources:
            requests:
              cpu: 100m
              memory: 256Mi
            limits:
              cpu: 500m
              memory: 512Mi
      restartPolicy: Always
  selector:
    matchLabels:
      app: postgres

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

您应该添加这样的服务:

apiVersion: v1
kind: Service
metadata:
  name: postgres
spec:
  type: NodePort
  ports:
   - port: 5432
  selector:
   app: postgres

将容器端口指定到 StatefulSet 中

ports:
  - containerPort: 5432

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

psql -v -U amigoscode --dbname amigoscode -h <host> <<-EOSQL
   <psql lines> 
EOSQL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM