【问题标题】:Kubernetes deployment works but can't connect to postgresql from pgAdmin4Kubernetes 部署工作但无法从 pgAdmin4 连接到 postgresql
【发布时间】:2022-06-16 05:52:16
【问题描述】:

我有一个部署和服务 yaml 文件。我使用minikube 在我的WSL 中运行Kubernetes

  • postgres-deployment.yaml:
# PostgreSQL StatefulSet
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: postgresql-db
spec:
  replicas: 1
  serviceName: postgresql-db-service
  selector:
    matchLabels:
      app: postgresql-db
  template:
    metadata:
      labels:
        app: postgresql-db
    spec:
      containers:
      - name: postgresql-db
        image: postgres:latest
        volumeMounts:
        - name: postgresql-db-disk
          mountPath: /data
        env:
        - name: POSTGRES_PASSWORD
          value: testpassword
        - name: PGDATA
          value: /data/pgdata
# Volume Claim
  volumeClaimTemplates:
  - metadata:
      name: postgresql-db-disk
    spec:
      accessModes: ["ReadWriteOnce"]
      resources:
        requests:
          storage: 25Gi
  • postgres-service.yaml:
# PostgreSQL StatefulSet Service
apiVersion: v1
kind: Service
metadata:
  name: postgres-db-lb
spec:
  selector:
    app: postgresql-db
  type: LoadBalancer
  ports:
  - port: 5432
    targetPort: 5432

我运行它们:

# kubectl apply -f postgres-deployment.yaml
# kubectl apply -f postgres-service.yaml

部署成功,我用kubectl get all获得了服务的集群IP。

我使用以下命令运行 pgAdmin:

搬运工运行 -p 80:80
-e 'PGADMIN_DEFAULT_EMAIL=user@domain.com'
-e 'PGADMIN_DEFAULT_PASSWORD=SuperSecret'
-d dpage/pgadmin4

我尝试连接到 postgres,但无法连接。

编辑:

  • 我将连接用户更改为postgres,还是不行。
  • 我尝试将 LoadBalancer 更改为 ClusterIp 和 NodePort,它也不起作用。
  • 我尝试将操作系统更改为 Ubuntu,以防出现一些奇怪的 WSL 问题,它也不起作用。

【问题讨论】:

    标签: postgresql kubernetes


    【解决方案1】:

    要在本地访问 Postgres,我必须使用 NodePort。
    我们需要找到 NodePort 的 ip 和端口。

    • 要查找 nodeport 内部 IP,请执行以下操作:

    $ kubectl 获取节点 -o 宽

    • 对于端口,我们可以使用kubectl describe svc postgres-db-lbkubectl get svc

    在 pgAdmin 中,主机名应该是 <node-ip>:<node-port>
    我们也可以通过minikube service postgres-db-lb来查找网址。

    编辑

    或者更简单的minikube service <NAME_OF_SERVICE>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-06
      • 2020-12-14
      • 2017-12-20
      • 2021-11-07
      • 1970-01-01
      • 2021-03-06
      相关资源
      最近更新 更多