Google Cloud Container:无法连接到mongodb服务

时间:2015-12-09 11:29:33

标签: mongodb kubernetes google-kubernetes-engine

我创建了一个mongodb复制控制器和一个mongo服务。我尝试从不同的mongo pod连接到它,只是为了测试连接。但这不起作用

root@mongo-test:/# mongo mongo-service/mydb
MongoDB shell version: 3.2.0
connecting to: mongo-service/mydb
2015-12-09T11:05:55.256+0000 E QUERY    [thread1] Error: network error while attempting to run command 'isMaster' on host 'mongo-service:27017'  :
connect@src/mongo/shell/mongo.js:226:14
@(connect):1:6

exception: connect failed

我不确定我在配置中做错了什么。我可能会错过这里的东西

kubectl get rc                                                                                                                        
CONTROLLER          CONTAINER(S)     IMAGE(S)                                 SELECTOR              REPLICAS   AGE
mongo               mongo            mongo:latest                             name=mongo            1          9s

kubectl get pods                                                                                                                      
NAME                      READY     STATUS             RESTARTS   AGE
mongo-6bnak               1/1       Running            0          1m
mongo-test                1/1       Running            0          21m

kubectl get services                                                                                                                  
NAME                     CLUSTER_IP       EXTERNAL_IP     PORT(S)     SELECTOR                AGE
kubernetes               10.119.240.1     <none>          443/TCP     <none>                  23h
mongo-service            10.119.254.202   <none>          27017/TCP   name=mongo,role=mongo   1m

我使用以下配置配置了RC和服务

蒙戈-RC

{
  "metadata": {
    "name": "mongo",
    "labels": { "name": "mongo" }
  },
  "kind": "ReplicationController",
  "apiVersion": "v1",
  "spec": {
    "replicas": 1,
    "template": {
      "metadata": {
        "labels": { "name": "mongo" }
      },
      "spec": {
        "volumes": [
          {
            "name": "mongo-disk",
            "gcePersistentDisk": {
             "pdName": "mongo-disk",
            "fsType": "ext4"
            }
           }
        ],
        "containers": [
          {
            "name": "mongo",
            "image": "mongo:latest",
            "ports": [{
                "name":"mongo",
              "containerPort": 27017
            }],
            "volumeMounts": [
              {
                "name": "mongo-disk",
                "mountPath": "/data/db"
                }
            ]
          }
        ]
      }
    }
  }
}

蒙戈服务:

{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "mongo-service"
  },
  "spec": {
    "ports": [
      {
        "port": 27017,
        "targetPort": "mongo"
      }
    ],
    "selector": {
      "name": "mongo",
      "role": "mongo"
    }
  }
}

1 个答案:

答案 0 :(得分:1)

几乎有点尴尬。

问题是我使用了选择器#34;角色&#34;在服务中,但没有在RC上定义它。

相关问题