![](/img/trans.png)
[英]GCP Kubernetes MongoDb statefulset connection string MongooseError getaddrinfo ENOTFOUND
[英]MongoDB in Kubernetes within GCP
我正在尝试在我的 k8s 集群上部署 mongodb,因为 mongodb 是我选择的数据库。 为此,我有配置文件(与几周前我对 postgress 所做的非常相似)。
这是 mongo 的部署 k8s 对象:
apiVersion: apps/v1
kind: Deployment
metadata:
name: panel-admin-mongo-deployment
spec:
replicas: 1
selector:
matchLabels:
component: panel-admin-mongo
template:
metadata:
labels:
component: panel-admin-mongo
spec:
volumes:
- name: panel-admin-mongo-storage
persistentVolumeClaim:
claimName: database-persistent-volume-claim
containers:
- name: panel-admin-mongo
image: mongo
ports:
- containerPort: 27017
volumeMounts:
- name: panel-admin-mongo-storage
mountPath: /data/db
为了进入吊舱,我做了一个服务:
apiVersion: v1
kind: Service
metadata:
name: panel-admin-mongo-cluster-ip-service
spec:
type: ClusterIP
selector:
component: panel-admin-mongo
ports:
- port: 27017
targetPort: 27017
当然,我也需要一个 PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: database-persistent-volume-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
为了从我的服务器访问数据库,我使用了服务器部署对象:
apiVersion: apps/v1
kind: Deployment
metadata:
name: panel-admin-api-deployment
spec:
replicas: 1
selector:
matchLabels:
component: panel-admin-api
template:
metadata:
labels:
component: panel-admin-api
spec:
containers:
- name: panel-admin-api
image: my-image
ports:
- containerPort: 3001
env:
- name: MONGO_URL
value: panel-admin-mongo-cluster-ip-service // This is important
imagePullSecrets:
- name: gcr-json-key
但是由于某种原因,当我使用 kubectl apply 命令启动所有容器时,我的服务器说: MongoDB :: connection error: MongoParseError: Invalid connection string
我可以像这样部署它吗(就像 postgress 一样)? 或者我在这里错过了什么?
在面板-admin-mongo-cluster-ip-service前使用mongodb://
所以它应该是这样的: mongodb://panel-admin-mongo-cluster-ip-service
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.