2017-05-14 102 views
0

我无法理解在使用kubernetes时端口如何工作。有三个端口有问题了解kubernetes部署,服务和Docker镜像端口

  1. 端口,我的应用程序监听的泊坞窗容器
  2. 港kubernetes配置文件中提到containerPort
  3. 负载平衡器端口部署时,作为服务公开

上述三个端口之间的关系是什么?在我目前的设置中,我在Dockerfile中提到了EXPOSE 8000,在kubernetes配置文件中提到了containerPort: 8000。我的应用正在收听码头集装箱内的端口8000。当我揭露使用kubectl expose deployment myapp --type="LoadBalancer"这一部署,将导致以下服务 -

$ kubectl get service 
NAME   CLUSTER-IP  EXTERNAL-IP PORT(S)   AGE 
myapp  10.59.248.232 <some-ip>  8000:32417/TCP 16s 

但我curl如下所示失败 -

$ curl http://<some-ip>:8000/status/ -i 
curl: (52) Empty reply from server 

是否有人可以解释我上面的三个端口是如何携手共进,他们的价值应该是什么应用程序成功'曝光'?

+0

仅供参考。我经常提到这些幻灯片。 https://www.slideshare.net/CJCullen/kubernetes-networking-55835829。幻灯片有助于了解码头网络和kubernetes网络的核心。 –

回答

0

问题出在我的Django服务器上,而不是Kubernetes或docker。我用python manage.py runserver而不是python manage.py runserver 0.0.0.0:8080启动我的服务器,导致它返回空响应,因为请求不是来自本地主机。

相关问题