Python mongodb连接字符串uri在Kubernetes中不工作
我已将mongodb部署为K8S上的StatefulSets。当我尝试使用连接字符串URI(例如:mongodb://mongo-0.mongo:27017,mongo-1.mongo:27017/cool_db),但当我使用端点IP地址时,它正在连接并获得结果Python mongodb连接字符串uri在Kubernetes中不工作,python,mongodb,kubernetes,Python,Mongodb,Kubernetes,我已将mongodb部署为K8S上的StatefulSets。当我尝试使用连接字符串URI(例如:mongodb://mongo-0.mongo:27017,mongo-1.mongo:27017/cool_db),但当我使用端点IP地址时,它正在连接并获得结果 # kubectl get sts NAME READY AGE mongo 2/2 7h33m #kubectl get pods NAME
# kubectl get sts
NAME READY AGE
mongo 2/2 7h33m
#kubectl get pods
NAME READY STATUS RESTARTS AGE
mongo-0 2/2 Running 0 7h48m
mongo-1 2/2 Running 2 7h47m
# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 10h
mongo ClusterIP None <none> 27017/TCP 7h48m
我尝试过使用不同的URI,比如(client=pymongo.MongoClient(“mongodb://mongo-0.mongo:27017/cool_db)但不起作用。有人能帮我吗?我想用
mongodb://mongo-0:27017
应在以下位置起作用:
在集群内,您应该使用刚刚调试完此问题的
.svc.cluster.local
引用MongoDB Pod。确保您的迷你kube正在使用coredns。我的不是,一旦我删除了minikube并启动了minikube,事情就成功了
你需要看看这个
$ kubectl get deploy -n kube-system
NAME READY UP-TO-DATE AVAILABLE AGE
coredns 1/1 1 1 31s
还是这个
$ kubectl get po -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-66bff467f8-9h6qb 1/1 Running 0 46s
etcd-minikube 1/1 Running 0 46s
kube-apiserver-minikube 1/1 Running 0 46s
kube-controller-manager-minikube 1/1 Running 0 45s
kube-proxy-d99lp 1/1 Running 0 46s
kube-scheduler-minikube 1/1 Running 0 46s
storage-provisioner 1/1 Running 0 49s
您好,Udav,谢谢您的回复,尝试过,但得到了相同的错误。@udev,pymongo.errors.ServerSelectionTimeoutError:mongo-0:27017:[Errno-2]名称或服务未知您的pymongo应用程序是否在同一k8s群集中运行?@BellyBuster,pymongo是在K8S主机上使用pip安装的。您能告诉我们您正在尝试在同一命名空间内连接吗?您只有一个
mongo
服务正在运行?在这个问题上运气好吗?
$ kubectl get deploy -n kube-system
NAME READY UP-TO-DATE AVAILABLE AGE
coredns 1/1 1 1 31s
$ kubectl get po -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-66bff467f8-9h6qb 1/1 Running 0 46s
etcd-minikube 1/1 Running 0 46s
kube-apiserver-minikube 1/1 Running 0 46s
kube-controller-manager-minikube 1/1 Running 0 45s
kube-proxy-d99lp 1/1 Running 0 46s
kube-scheduler-minikube 1/1 Running 0 46s
storage-provisioner 1/1 Running 0 49s