helm postgres连接 - 无法连接

问题描述 投票:0回答:1

我已经在github上上传了一些代码。https:/github.comdarkcloudihelm-camunda-postgres。

运行下面的命令可以部署这两个图表(注意,这套命令是需要允许部署postgres数据库的,我已经默认禁用了它,因为camunda有自己的数据库,我正试图配置它使用postgres)。

helm install dev ./camunda-install --set tags.postgres=true

你会发现一切都很顺利

NAME                              READY   STATUS      RESTARTS   AGE
pod/dev-camunda-67f487dcd-wjdfr   1/1     Running     0          36m
pod/dev-camunda-test-connection   0/1     Completed   0          45h
pod/postgres-86c565898d-h5tf2     1/1     Running     0          36m

NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service/dev-camunda    NodePort    10.106.239.96    <none>        8080:30000/TCP   36m
service/dev-postgres   NodePort    10.108.235.106   <none>        5432:30001/TCP   36m
service/kubernetes     ClusterIP   10.96.0.1        <none>        443/TCP          4d19h

如果我使用10.108.x.xip或者minikube ip 192.168.64.2,我就会得到下面同样的错误,我可以用tomcat连接。http:/camunda.minikube.local。http:/192.168.64.2:30000 所以想知道,当我试图连接到postgres时,我可能会在哪里出错。

kubectl exec -it postgres-86c565898d-h5tf2 --  psql -h 10.108.235.106 -U admin --password -p 30001 camunda
Password:

psql: error: could not connect to server: could not connect to server: 连接已超时 服务器是否运行在主机 "10.108.235.106 "上,并在端口30上接受TCPIP连接。

kubectl describe svc dev-postgres
Name: dev-postgres
Namespace: default
Labels: app.kubernetes.io/managed-by=Helm
name=dev-postgres
Annotations:  meta.helm.sh/release-name: dev
meta.helm.sh/release-namespace: default
Selector:   app=dev-postgres,name=dev-postgres
Type: NodePort
IP:  10.108.235.106
Port:      postgres-http  5432/TCP
TargetPort:   5432/TCP
NodePort: postgres-http  30001/TCP
Endpoints:   <none>
Session Affinity:  None
External Traffic Policy:  Cluster
Events: <none>

https:/github.comdarkcloudihelm-camunda-postgresblobmastercamunda-installchartspostgrestemplatespostgres.yaml。

database postgresql kubernetes kubernetes-helm camunda
1个回答
1
投票

由于你是从集群内访问它,你应该使用ClusterIP来访问。10.108.235.106 和港口 5432.

如果你想从集群外部访问它,那么你可以使用节点IP 192.168.64.2 and NodePort 30001

港口 30001 是在节点虚拟机上监听,而容器是在端口 5432.所以你不能通过端口访问它 30001 从群内

编辑。

The Endpoints 在服务上为空。这是因为服务上的标签选择器选择的是带有以下标签的 pod app=dev-postgres,name=dev-postgres 但豆荚没有这个标签。

© www.soinside.com 2019 - 2024. All rights reserved.