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

Kubernetes:带有节点端口的loadbalancer服务

慕容灿
2023-03-14

我有一个LoadBalancer服务,它在群集外公开3300端口。我想打开一个新的端口用于内部通信,以便其他吊舱可以与此服务对话,但此端口不应暴露在集群外部。
基本上,通信如下所示:

                                   my-svc:3301
    pod/my-app  <--- svc/my-svc  <------------- pod/my-new-app
                      ^
                      | ext-ip:3300
                      |
                   outside_world
apiVersion: v1
kind: Service
metadata:
  name: my-svc
spec:
  type: LoadBalancer
  ports:
  - name: my-port
    protocol: "TCP"
    port: 3300
    targetPort: 3300
  selector:
    app: my-app

共有1个答案

东郭弘
2023-03-14

如果“内部”和“外部”通信路径使用不同的端口,则需要单独的(ClusterIP)服务。不能说您希望服务创建LoadBalancer(或NodePort),而只能为某些服务端口创建LoadBalancer(或NodePort)。

如果两者都可以使用相同的端口,那么您只需将其他吊舱指向http://my-svc:3300。即使它是LoadBalancer(或NodePort)服务,也可以使用其名称:端口:调用它,调用方式与ClusterIP服务相同。

 类似资料:
  • 我了解kubernetes服务,因为LoadBalancer服务是NodePort和ClusterIP的扩展,后者已经是POD的负载平衡器层。当我们使用NodePort或CluserIP和ingress时,我们已经能够使用负载平衡器(内部)在服务中通过域访问应用程序。那么,为什么我们还有另一个选择是LoadBalancer服务(外部云提供商)?

  • 我在库伯内特斯集群中运行3个节点。每个节点都有相同的Pod myApp。我使用NodePort类型创建一个服务,以便所有3个节点都可以从外部访问。服务yaml如下所示 假设3个节点的节点IP端口为: 1.192.168.18.1:30010 2.192.68.18.2:30010 3.192.18.18.3:30010 我的问题是:<br>1.如果所有请求都来自IP为(192.168.18.1:3

  • 我在访问Kubernetes群集上的NodePort服务时遇到困难。 球门 设置ALB入口控制器,以便我可以使用webockets和超文本传输协议/2 根据该控制器的要求设置NodePort服务 采取的步骤 之前,在AWS eu-west-1上创建了Kops(版本1.6.2)群集。nginx ingress的kops插件以及Kube lego也已添加。ELB入口工作正常。 使用该项目指定的IAM配

  • 我们正在GKE(谷歌kubernetes引擎)上运行一个API服务器。我们使用Google云endpoint和API密钥处理授权。我们将每个API密钥上的某些IP地址列为白名单。为了做到这一点,我们必须将负载平衡器转换为入口控制器,以公开我们的API服务器。IP白名单不适用于loadbalancer服务。现在,我们有一个类似以下内容的入口设置:

  • 我们最近从Spring Cloud Netflix Ribbon迁移到Spring Cloud LoadBalancer,并使用Spring Cloud kubernetes作为发现客户端。 现在spring.cloud.kubernetes.ribbon.mode(https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernete

  • 介绍: 在AWS上,负载均衡器很昂贵(20美元/月的使用量),所以我正在寻找一种方法来实现k8s节点之间的灵活负载均衡,而无需支付这笔费用。负载没那么大,所以我不需要AWS负载均衡器的可扩展性。我只需要服务是HA。我可以以3.5美元/月的价格获得一个小型EC2实例,它可以轻松处理当前的流量,所以我现在正在追逐这个选择。 当前设置 目前,我已经设置了一个常规的独立Ngin x实例(k8s之外),在我