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
最佳, 馬丁
你確實「捲曲104.NN.NN.NN:443」實際上,不是? – cristi
抱歉在原帖中粘貼不好。我已經更新了'kubectl services'的輸出。我做了'curl 104.NN.NN.NN'這是kubernetes,在443上聽。 – martins
'kubectl get endpoints'給你@martins什麼? –