我已经在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>
由于你是从集群内访问它,你应该使用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
但豆荚没有这个标签。