【发布时间】:2021-11-24 14:53:08
【问题描述】:
我使用 helm chart 在 Kubernetes 中安装 Postgresql。
我无法连接到我的应用服务器内的 Postgres。当我尝试连接到 db.服务器向我抛出有关 HostNotFoundError 的错误。
任何人都有在 Kubernetes 上安装数据库的经验。请帮帮我。
谢谢!
kubectl get pod
NAME READY STATUS RESTARTS AGE
apollo-b47f886f-g9c8f 1/1 Running 0 2d19h
jupiter-7799cf84db-zfm9q 1/1 Running 0 5m23s
jupiter-migration-kkmqz 0/1 Error 0 3h22m
nginx-ingress-ingress-nginx-controller-55d6b7dc57-nn8q6 1/1 Running 0 20d
postgres-postgresql-0 1/1 Running 0 18h
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
apollo ClusterIP 10.92.8.51 <none> 80/TCP 20d
jupiter ClusterIP 10.92.7.8 <none> 80/TCP 2d14h
kubernetes ClusterIP 10.92.0.1 <none> 443/TCP 20d
nginx-ingress-ingress-nginx-controller LoadBalancer 10.92.11.40 External IP 80:31096/TCP,443:31324/TCP 20d
nginx-ingress-ingress-nginx-controller-admission ClusterIP 10.92.14.117 <none> 443/TCP 20d
postgres-postgresql ClusterIP 10.92.3.97 <none> 5432/TCP 18h
postgres-postgresql-headless ClusterIP None <none> 5432/TCP
sequelize config
module.exports = {
production: {
username: postgres,
password: mypassword,
database: jupiter,
host: postgres-postgresql,
dialect: 'postgres',
},
};
Server logs
error HostNotFoundError [SequelizeHostNotFoundError]: getaddrinfo ENOTFOUND postgres-postgresql
at Client._connectionCallback (/app/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:175:24)
at Client._handleErrorWhileConnecting (/app/node_modules/pg/lib/client.js:305:19)
at Client._handleErrorEvent (/app/node_modules/pg/lib/client.js:315:19)
at Connection.emit (node:events:394:28)
at Socket.reportStreamError (/app/node_modules/pg/lib/connection.js:52:12)
at Socket.emit (node:events:394:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
parent: Error: getaddrinfo ENOTFOUND postgres-postgresql
06:02:30 0|jupiter |
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'postgres-postgresql\n'
},
original: Error: getaddrinfo ENOTFOUND postgres-postgresql
06:02:30 0|jupiter |
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'postgres-postgresql\n'
}
}
【问题讨论】:
-
在错误中,主机名是
postgres-postgresql\n,这看起来很奇怪,因为主机名末尾有一个新行。我会检查那个配置。 -
@AndD 非常感谢!那是我的错误。我在我的配置中删除了一个新行。有效!!非常感谢。
标签: postgresql kubernetes sequelize.js kubernetes-helm