mongodb - 在 kubernetes 中运行 mongodb - azure aks 失败
问题描述
我尝试在托管在 azure aks 上的 kubernetes 集群中运行 mongodb
按照本教程,我无法让它运行:https ://kubernetes.io/blog/2017/01/running-mongodb-on-kubernetes-with-statefulsets/
这是我使用的 yaml:
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: default-view
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- kind: ServiceAccount
name: default
namespace: default
---
apiVersion: v1
kind: Service
metadata:
name: mongo
labels:
name: mongo
spec:
ports:
- port: 27017
targetPort: 27017
clusterIP: None
selector:
role: mongo
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: mongo
spec:
serviceName: "mongo"
replicas: 2
template:
metadata:
labels:
role: mongo
environment: test
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mongo
image: mongo
command:
- mongod
- "--replSet"
- rs0
- "--bind_ip"
- 0.0.0.0
- "--smallfiles"
- "--noprealloc"
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
- name: mongo-sidecar
image: cvallance/mongo-k8s-sidecar
env:
- name: MONGO_SIDECAR_POD_LABELS
value: "role=mongo,environment=test"
volumeClaimTemplates:
- metadata:
name: mongo-persistent-storage
annotations:
volume.beta.kubernetes.io/storage-class: "managed-premium"
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 32Gi
我使用的连接字符串是:
“mongodb://mongo-0.mongo,mongo-1.mongo:27017/databasename\_?”
从我的 JS 应用程序中,我得到:
数据库名称不能包含字符“\”
如何从 JS 应用程序连接到 mongodb?
解决方案
mongodb://mongo-0.mongo,mongo-1.mongo:27017
您表示您有一个包含 2 个成员的副本集,并且都使用端口 27017。您的 mongodb 库将处理该 url 以连接到集群。
为了在本地连接,您必须进行端口转发:
kubectl port-forward mongo-0 27017 # 或 mongo-1
然后,您可以使用您的 localhost (127.0.0.1) 和端口 27017 使用Robo 3T连接到所选的 mongodb 。
推荐阅读
- sql-server - SQL Server 迁移 2008 到 2016 - raiserror 语法错误
- sql - 过滤过去 2 年每年至少有 3 笔交易的客户 Presto/SQL
- css - 在 div 中垂直居中文本,同时具有 100% 宽度的 div
- c# - EF CORE UPDATE 列为其添加价值
- python - 如何从 python 访问在 .kv 文件中创建的文本输入
- iis - IIS 反向代理配置
- postman - POSTMAN 无法处理端点内的反斜杠
- css - 去除 VS Code 中多余的颜色框
- php - 我应该如何使用 PHP 在 MongoDB 中通过 ObjectID 查找
- pandas - 如何在熊猫数据框中查找包含除 NaN 之外的所有唯一值的列名?