2015-11-23 3 views
0

Я получаю эту ошибку, когда пытаюсь получить доступ к HTTP-уязвимости публичного IP-адреса.gCloud Container (GKE) Kubernetes Service Port 8000 недоступен

RajRajen:lb4btest rajrajen$ curl http://104.154.84.143:8000 
curl: (56) Recv failure: Connection reset by peer 

RajRajen:lb4btest rajrajen$ telnet 104.154.84.143 8000 
Trying 104.154.84.143... 
Connected to 143.84.154.104.bc.googleusercontent.com. 
Escape character is '^]'. 
Connection closed by foreign host. 
RajRajen:lb4btest rajrajen$ 

< Pls, обратите внимание выше IP только представление, то я перераспределять, то IP может измениться. Но проблема не в том>

URL-адрес контроллера, который находится в моем json-файле.

RajRajen:lb4btest rajrajen$ kubectl create -f middleware-service.json 
services/lb4b-api-v9 

И контроллер rc - контроллер репликации json.

{ 
"kind": "ReplicationController", 
"apiVersion": "v1", 
"metadata": { 
    "name": "lb4b-api-v9", 
    "labels": { 
    "app": "lb4bapi", 
    "tier": "middleware" 
} 
}, 
"spec": { 
"replicas": 1, 
"selector": { 
    "app": "lb4bapi", 
    "tier": "middleware" 
}, 
"template": { 
    "metadata": { 
    "labels": { 
     "app": "lb4bapi", 
     "tier": "middleware" 
    } 
    }, 
    "spec": { 
    "containers": [ 
     { 
     "name": "lb4bapicontainer", 
     "image": "gcr.io/helloworldnodejs-1119/myproject", 
     "resources": { 
      "requests": { 
      "cpu": "500m", 
      "memory": "128Mi" 
      } 
     }, 
     "env": [ 
      { 
      "name": "GET_HOSTS_FROM", 
      "value": "dns" 
      }, 
      { 
      "name": "PORT", 
      "value": "8000" 
      } 
     ], 
     "ports": [ 
      { 
      "name": "middleware", 
      "containerPort": 8000, 
      "hostPort": 8000 
      } 
     ] 
     } 
    ] 
    } 
} 
} 
} 

А вот JSON файл службы

{ 
"kind": "Service", 
"apiVersion": "v1", 
"metadata": { 
    "name": "lb4b-api-v9", 
    "labels": { 
     "name": "lb4b-api-v9", 
     "app": "lb4bmiddleware", 
     "tier": "middleware" 
    }  
},  
"spec": { 
    "type": "LoadBalancer", 
    "selector": { 
     "name": "lb4b-api-v9",    
     "app": "lb4bmiddleware", 
     "tier": "middleware" 
    }, 
    "ports": [ 
     { 
      "protocol": "TCP", 
      "port": 8000 
     } 
    ] 
    } 
}  

Docker контейнер работает приложение в узел, как некорневыми пользователя в соответствии с требованием PM2.

ENTRYPOINT ["pm2"] 
CMD ["start", "app.js", "--no-daemon"] 

Я вполне в состоянии сделать завиток на этом POD Local IP локон http://podIP:podPort внутри докер POD, а также внутри NODE. Но не удалось сделать завиток на http://serviceLocalIP:8000 внутри УЗЛА.

Не могли бы вы дать некоторые предложения, чтобы сделать эту работу?

Заранее спасибо.

ответ

1

Эта проблема разрешена. После выполнения комментария об устранении неполадок в конечной точке обслуживания, особенно при сохранении значения селектора SERVICE, такого же, как в селекторе POD.

https://cloud.google.com/container-engine/docs/debugging/

Поиск Мой сервис отсутствует конечные точки

решение в Controller.json

 { 
"kind": "ReplicationController", 
    "apiVersion": "v1", 
    "metadata": { 
    "name": "lb4b-api-v9", 
    "labels": { 
     "name": "lb4b-api-v9",    
     "app": "lb4bmiddleware", 
     "tier": "middleware" 
    } 
}, 
"spec": { 
"replicas": 1, 
"selector": { 
     **"name": "lb4b-api-v9",    
     "app": "lb4bmiddleware", 
     "tier": "middleware"** 
}, 
"template": { 
    "metadata": { 
    "labels": { 
     "name": "lb4b-api-v9",    
     "app": "lb4bmiddleware", 
     "tier": "middleware" 
    } 
     }, 
     "spec": { 
     "containers": [ 
     { 
     "name": "lb4b-api-v9", 
     "image": "gcr.io/myprojectid/myproect", 
     "resources": { 
      "requests": { 
      "cpu": "500m", 
      "memory": "128Mi" 
      } 
     }, 
     "env": [ 
      { 
      "name": "GET_HOSTS_FROM", 
      "value": "dns" 
      }, 
      { 
      "name": "PORT", 
      "value": "8000" 
      } 
     ], 
     "ports": [ 
      { 
      "name": "middleware", 
      "containerPort": 8000, 
      "hostPort": 8000 
      } 
     ] 
     } 
    ] 
    } 
} 
} 
} 

И Service.json

{ 
"kind": "Service", 
"apiVersion": "v1", 
"metadata": { 
    "name": "lb4b-api-v9", 
    "labels": { 
     "name": "lb4b-api-v9", 
     "app": "lb4bmiddleware", 
     "tier": "middleware" 
    }  
},  
"spec": { 
    "type": "LoadBalancer", 
    "selector": { 
     **"name": "lb4b-api-v9",    
     "app": "lb4bmiddleware", 
     "tier": "middleware"** 
    }, 
    "ports": [ 
     { 
      "protocol": "TCP", 
      "port": 8000 
     } 
    ] 
} 
}  

Вот и все ..

Смежные вопросы