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

端口转发正在工作,但无法从同一GKE集群中的其他POD访问端口

宦书
2023-03-14

我有一个有状态的MQ设置,暴露了两个端口1414为TCP和9443为HTTPS和创建的服务类型的负载均衡器。

但问题是,无法从集群内(服务名称/集群IP)或集群外(外部IP)的其他POD访问端口9443。当执行POD并在本地测试时,telnet工作正常。。telnet 127.0.01 9443

HTTPS服务是否缺少任何配置...

注意:端口转发工作正常,能够连接到API。kubectl端口转发svc/mq qmdtest 9443:9443

服务定义

apiVersion: v1
kind: Service
metadata:
  name: {{.Values.name}}
  namespace: {{.Values.namespace}}
  annotations:
    cloud.google.com/load-balancer-type: "Internal"
  labels : 
    run: {{.Values.name}}
spec:
  type: LoadBalancer
  loadBalancerIP: {{.Values.loadBalancerIP}}
  ports:
  - name: webui
    port: 9443
    protocol: TCP
  - name: mq
    port: 1414
    protocol: TCP
  selector:
    run: {{.Values.name}}

状态集–容器端口配置

    ports:
    - containerPort: 9443
      protocol: TCP
      name: webui
    - containerPort: 1414
      protocol: TCP
      name: mq

共有1个答案

申思远
2023-03-14

当执行POD并在本地测试时,telnet工作正常。。telnet 127.0.01 9443。。。端口转发工作正常,能够连接到API。kubectl端口转发svc/mq qmdtest 9443:9443

几乎可以肯定的是,pod只在本地主机上侦听<代码>端口转发也与本地主机连接,因此您无法从集群中的其他pod访问它,但您可以从自身和端口转发访问它,这意味着该服务仅侦听本地连接。

在不了解更多软件的情况下,我无法向您提供“打开此文件,更改此值”类型的说明,但请注意“绑定主机”或任何可以同时接受主机和端口的“侦听”配置,在这种情况下,请将“绑定主机”设置为0.0.0.0,或将“侦听”配置设置为0.0.0:9443

 类似资料:
  • 我正在创建一个K8集群,我想用Prometheus(像往常一样)在Grafana中显示集群信息。我关注了已经发布的各种文档,但似乎没有任何东西可以解决这个问题。 Prometheus仪表板未加载,我正在AWS环境中执行此操作。请找到我正在使用的步骤。 helm install stable prometheus community/kube prometheus stack--命名空间promet

  • 本页向您展示如何使用 kubectl port-forward 命令连接到运行在 Kubernetes 集群中的 Redis 服务器。这种类型的连接对于数据库调试很有帮助。 创建一个 Pod 来运行 Redis 服务器 创建一个 Pod: kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/redis-mas

  • 我是一个码头工人,我在前几天阅读了如何使用它的官方教程。我决定将我非常简单的spring-boot应用程序作为服务部署到集群中,但我无法从外部访问它。顺便说一下,当我用docker run启动docker时,容器是可以访问的。 所以我的春靴tomcat正在收听8081。 Dockerfile: docker-compose.yml: 我部署了两个服务,一个可视化程序和一个Spring引导应用程序。

  • 我正在尝试访问库伯内特斯集群部署的Spring Boot微服务并尝试测试REST API。我在部署脚本中配置了节点端口方法。但是当我尝试使用Postman工具访问时,我只得到“无法获得任何响应”的响应。 我配置了服务。yaml脚本类似于以下结构, 我的部署。yaml如下所示:, 当我使用时,输出如下所示, 我正在尝试通过以下方式访问我部署的API, 更新 当我为我的部署运行命令时,我得到如下响应:

  • 我有以下部署,用于放置MySQL实例: 密码仅为root: 问题是我尝试在端口转发MySQL端口后连接到实例,按照此处的说明进行操作,但收到错误: 从pod本身连接到服务器可以工作: 我的设置与这里基本相同,只是我在minikube而不是GCP中运行集群。我的本地MySQL没有运行,所以我假设没有发生冲突的可能性。

  • 我有一个在多VM环境中运行的Kafka代理(私有云-带有我们自己的库伯内特斯集群-4节点集群)。 我创建了一个spring-boot应用程序,它有一个发布者,必须在Kafka代理中向Kafka主题发布消息。我有两个集装箱(Kafka经纪人 我无法通过在发布者的bootstrap.servers中提供Kafka的服务名称:端口ID来访问Kafka代理(在同一个k8s集群中运行) Spring boo