2015-11-06 145 views
0

我有一個簡單的NodeJS應用程序,我創建了一個圖像。 我可以啓動它並在本地與之通話: docker run -p 80:80 -it --rm --name test gcr.io/XXX/XXX:0.1我工作的Docker容器在Kubernetes上沒有開放端口

$ curl docker => Unauthorized正如所料。

Kubernetes

web服務的複製,controller.yml:

apiVersion: v1 
kind: ReplicationController 
metadata: 
    name: harvester-webservice 
spec: 
    replicas: 2 
    selector: 
    app: harvester-webservice 
    template: 
    metadata: 
     labels: 
     app: harvester-webservice 
    spec: 
     containers: 
     - name: harvester-webservice 
     image: gcr.io/XXX/XXX 
     ports: 
     - containerPort: 80 

web服務,service.yml

apiVersion: v1 
kind: Service 
metadata: 
    name: harvester-webservice 
    labels: 
    name: harvester-webservice 
spec: 
    type: LoadBalancer 
    ports: 
    - 
     port: 80 
     targetPort: 80 
     protocol: TCP 
    selector: 
    name: harvester-webservice 

我已經開始了集羣如下:

$ kubectl create -f webservice-service.yml 
$ kubectl create -f webservice-replication-controller.yml 

$ kubectl get pods 
NAME         READY  STATUS RESTARTS AGE 
harvester-webservice-controller-8qmkl 1/1  Running 0   11m 
harvester-webservice-controller-chnky 1/1  Running 0   11m 

$ kubectl get services 
NAME     LABELS         SELECTOR     IP(S)   PORT(S) 
harvester-webservice name=harvester-webservice     name=harvester-webservice 10.NN.NN.NN 80/TCP 
                          104.NN.NN.NN 
kubernetes    component=apiserver,provider=kubernetes <none>      10.NN.NN.NN  443/TCP 

$ kubectl get rc 
CONTROLLER      CONTAINER(S)   IMAGE(S)   SELECTOR     REPLICAS 
harvester-webservice-controller harvester-webservice gcr.io/XXX/XXX app=harvester-webservice 2 

curl 104.NNN.NNN.NNN回報: curl: (56) Recv failure: Connection reset by peer

curl 10.NNN.NNN.NNN只是掛

日誌是因爲他們應該當我ssh到容器中並在節點應用做了docker logs

所有提示或建議都高度讚揚!

$ kubectl get endpoints 
NAME     ENDPOINTS 
harvester-webservice <none> 
kubernetes    104.NN.NN.NN:443 

最佳, 馬丁

+0

你確實「捲曲104.NN.NN.NN:443」實際上,不是? – cristi

+0

抱歉在原帖中粘貼不好。我已經更新了'kubectl services'的輸出。我做了'curl 104.NN.NN.NN'這是kubernetes,在443上聽。 – martins

+0

'kubectl get endpoints'給你@martins什麼? –

回答

4

變化webservice-service.ymlapp: harvester-webservice選擇,使其在webservice-replication-controller.yml標籤相匹配。

另請參見Services在Kubernetes。

相關問題