【发布时间】:2020-04-17 10:09:52
【问题描述】:
我正在尝试在我的 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
为了进入 pod,我做了一个服务:
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 一样)?或者我在这里错过了什么?
【问题讨论】:
标签: mongodb docker kubernetes