![](/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.