我将一个流星应用程序分成两个容器:应用程序和节点。在docker的世界里,应用程序可以成功地连接到节点,但在kubernetes中,我遇到了困难。
我的想法是首先启动mongodb并创建mongodb服务,然后创建连接mongodb服务的应用程序,但我不确定如何让应用程序使用MONGO_URL连接到服务的clusterIP。
因此,我有一个应用程序部署显示bellow,
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: app
name: mycloud
spec:
replicas: 1
selector:
matchLabels:
app: app
template:
metadata:
labels:
app: app
spec:
containers:
- name: app
image: yufang/cloud_docker_app
ports:
- containerPort: 3000
env:
- name: MONGO_URL
value: mongodb://localhost:27017/meteor # here comes the key point. How to specify the service's ip? or use the selector to specify the service's label?
- name: PORT
value: "3000"
- name: ROOT_URL
value: http://localhost该服务被描述如下,
apiVersion: v1
kind: Service
metadata:
name: mongo
labels:
name: mongo
spec:
ports:
- port: 27017
targetPort: 27017
clusterIP: None
selector:
app: mongo任何想法都是值得感谢的。
发布于 2019-08-31 02:11:09
如果mongodb和mycloud在同一个名称空间中,那么您可以使用http://mongodb:27017
如果它们位于不同的名称空间中,则可以使用FQDN http://mongodb.namespace.svc.cluster.local:27017
参考:https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/
https://stackoverflow.com/questions/57702773
复制相似问题