当前位置: 首页 > 知识库问答 >
问题:

了解kubernetes部署、服务和docker映像端口

终洛华
2023-03-14

使用kubernetes时,我很难理解端口是如何工作的。有三个端口有问题

  1. 我的应用程序在docker容器内侦听的端口
  2. kubernetes配置文件中提到的端口为容器端口
  3. 部署公开为服务时的LoadBalancer端口

以上三个端口之间的关系是什么?在我当前的设置中,我在Dockerfile和kubernetes配置文件中分别提到了EXPOSE 8000和containerPort:8000。我的应用程序正在docker容器内的端口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

有人能解释一下上述三个端口是如何协同工作的,以及它们对我的应用程序成功“曝光”的价值是什么吗?

共有1个答案

李谦
2023-03-14

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

 类似资料:
  • 只有。这些服务到底有什么不同?端口到底做什么?

  • 我尝试使用minikube从本地docker镜像和docker hub部署kubernetes。但两者都不起作用。 方法1:使用保存和加载tar文件,创建了图像,它可用于kubectl。 执行以下命令以创建部署: 从kubectl描述pod命令, 方法2:我将映像推送到我的docker hub存储库(https://hub.docker.com/r/get2arun/elk/tags),然后在终端

  • 服务端部署 1. 源码部署 CAT安装环境 Linux 2.6以及之上(2.6内核才可以支持epoll),线上服务端部署请使用Linux环境,Mac以及Windows环境可以作为开发环境,美团点评内部CentOS 6.5 Java 6,7,8,服务端推荐使用jdk7的版本,客户端jdk6、7、8都支持 Maven 3及以上 MySQL 5.6,5.7,更高版本MySQL都不建议使用,不清楚兼容性

  • 部署模式 SOFARegistry 支持两种部署模式,分别是集成部署模式及独立部署模式,本文将介绍最简单的单节点集成部署模式,更多更详细的部署模式介绍可以查看 部署文档。 部署步骤 1. 下载源码或者安装包 下载源码方式 git clone https://github.com/sofastack/sofa-registry.git cd sofa-registry mvn clean packa

  • 我的应用程序服务无法相互通信。我拥有的是一个由身份验证服务、发现服务器、api网关和商家服务组成的应用程序。我使用eureka服务器和客户端依赖关系进行服务发现。每个服务都用docker进行容器化,我使用K8进行编排。 当我向服务器发送请求时,我得到的响应是: 以下是我的尤里卡属性和K8配置文件: 发现服务器文件 身份验证服务application.properties文件 商户服务 API 网关