目前,我正在获取节点无法连接到数据库的ECONNREFUSED。我不知道数据库主机应该在哪里结束。我应该使用localhost:7474、127.0.0.1:7474、0.0.0.0:7474,还是应该使用某些主机,这些主机是在我得到可以传入的Kubernetes吊舱时生成的呢?比如$(minikube ip) = 192.168.90.100:7474,但是我的数据库呢?是否有一个ENV包含的数据库主机,我应该从某个地方?
const neo4jDatabase = connect({
server: 'http://<what goes here!?>:7474',
user: process.env.DB_USER,
pass: process.env.DB_PASS,
});我似乎已经开始运行豆荚与下面的.yml吐露,但我不确定是否neo4j一是正确的。
NAME READY STATUS RESTARTS AGE
neo4j-4166717986-8qbwq 1/1 Running 0 41m
node-481322091-g27md 1/1 Running 0 11mnode.yml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: node
spec:
replicas: 1
template:
metadata:
labels:
app: node
tier: backend
track: stable
spec:
containers:
- name: node
image: "myapp"
ports:
- name: nodeport
containerPort: 8080
env:
- name: DB_USER
valueFrom:
configMapKeyRef:
name: config
key: db_user
- name: DB_PASS
valueFrom:
configMapKeyRef:
name: config
key: db_pass
---
apiVersion: v1
kind: Service
metadata:
name: node
spec:
selector:
app: node
tier: backend
ports:
- protocol: TCP
port: 80
targetPort:
type: LoadBalancerneo4j.yml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: neo4j
spec:
template:
metadata:
labels:
run: neo4j
spec:
containers:
- name: neo4j
image: "my-neo4j"
ports:
- containerPort: 7474
---
apiVersion: v1
kind: Service
metadata:
name: neo4j
labels:
run: neo4j
spec:
selector:
run: neo4j
ports:
- port: 7474
targetPort: 7474
protocol: TCP发布于 2017-07-21 08:47:45
也许Kubernetes的一个鲜为人知的特性是在运行的豆荚中注入了一些神奇的环境变量。
在您的特殊情况下,pods为名称空间中的每个服务都有一个环境变量。格式如下:
<your service>_SERVICE_HOST
<your service name>_SERVICE_PORT_EXPOSED_PORT您可以通过使用kubectl exec -ti <your pod id> sh附加到运行中的吊舱并发出一个printenv命令来验证这一点。
请注意,如果服务是在吊舱之后创建的,则必须删除带有kubectl delete pod <your pod id>的吊舱,以强制重新创建(和注入)环境变量。
在您的示例中,最终代码如下所示:
const serviceHost = process.ENV.NEO4J_SERVICE_HOST;
const servicePort = process.ENV.NEO4J_SERVICE_PORT_EXPOSED_PORT;
const neo4jDatabase = connect({
server: `http://${serviceHost}:${servicePort}`,
user: process.env.DB_USER,
pass: process.env.DB_PASS,
});https://stackoverflow.com/questions/45201586
复制相似问题