GCP k8s-使用mongodb从一个群集迁移到另一个群集

时间:2019-01-04 14:35:45

标签: python mongodb kubernetes google-cloud-platform

在GCP项目中,我有一个包含2个集群的K8s架构。

  • 一个用于微服务的集群
  • 用于mongodb的一个集群

我已经从内部测试了我的mongodb集群,并确保其正常工作。 我现在想做的是从另一个群集上的Pod连接。我已经使用 mongodb 集群上的节点端口公开了mongo服务:

<tr> 
    <td>Time:</td> 
    <td> 
        <asp:TextBox ID="TxtTime" runat="server" Width="250px" TextMode="Date" /> 
    </td>
</tr>

使用我的 mongodb 群集的IP:

  apiVersion: v1
  kind: Service
  metadata:
    labels:
      name: mongo
    name: mongodb-service
    annotations:
        cloud.google.com/load-balancer-type: "Internal"
  spec:
    externalTrafficPolicy: Local
    ports:
    - name: port-mongodb
      port: 27017
      protocol: TCP
      targetPort: 27017
    selector:
      role: mongo
    sessionAffinity: None
    type: NodePort

以及我的NodePort的端口:

- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://35.240.47.130
    name: gke_myproject_europe-west1-b_mongodb

从带有python的新pod进入 microservice 集群(与从内部测试mongodb集群所使用的完全相同),我执行以下python脚本:

mongodb-service   NodePort    10.3.248.249   <none>        27017:32752/TCP   6m

结果始终是错误:

from pymongo import MongoClient
client = MongoClient("mongodb://login:pass@35.240.47.130:32752")
database = client["testdb"]
collection = database["testcollection"]
inserted_id = 
collection.insert_one({"moonlight":"sonata"}).inserted_id

我在做什么错了?

更新

此外,这是来自 microservices 集群的一些nslookup测试。首先,我检查mongodb NodePort服务IP

pymongo.errors.ServerSelectionTimeoutError: mongo:32752: timed out

此外,我使用群集IP检查群集是否看到另一个。

root@pybbox-55bdc76ddb-nw5gm:/# nslookup 10.3.248.249
Server:     10.35.240.10
Address:    10.35.240.10#53

** server can't find 249.248.3.10.in-addr.arpa: NXDOMAIN

0 个答案:

没有答案