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

Ingress与Kubernetes服务LoadBalancer有什么关系?

陆子航
2023-03-14
apiVersion: v1
kind: Service
metadata:
  name: myservice
  namespace: mynamespace
  labels:
    app: myservice
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
    external-dns.alpha.kubernetes.io/hostname: "myservice."
spec:
  selector:
    app: myservice
  type: LoadBalancer
  ports:
  - name: http
    port: 8080
    targetPort: 8080
    protocol: TCP
kubectl describe service myservice

类型:LoadBalancer IP:
25.0.162.225 LoadBalancer Ingress:internal-a9716e.....us-west-2.elb.amazonaws.com

据我所知,我使用的发布类型是“LoadBalancer”,它帮助我将服务公开给外部IP地址(参见https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/)。入口是一个不同的东西,它位于服务的前面,我没有在我的yml文件中定义它。(参考:https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-shoul-i-use-what-922f010849e0)通过“loadbalancer入口”,我可以从集群外部访问我的服务,但我不明白为什么它被称为“loadbalancer入口”?跟进入有什么关系?还是每个负载均衡器都配备了一个用于服务公开目的的入口?

共有1个答案

宗政海
2023-03-14

Ingress是公开内容和公开方式的抽象定义。通常指的是HTTP(S)流量,但有一些摆弄也可以其他模式/协议。

Ingress Controller是一个特殊的实现,它将使用特定的软件实现您的Ingress定义的期望。不管是Nginx、Traefik还是其他的解决方案,都可能专用于特定的云服务提供商。

它们将使用service对象来查找到达它们的特定数据流所使用的endpoint。如果这是headlessclusteripnodeportloadbalancer类型的服务,则没有任何影响。

 类似资料:
  • 目前,我们正在使用负载均衡器类型的srecice将外部请求路由到我们的一个pod。 我们希望将其移动到入口类型服务(已经有一个外部负载均衡器设置以及一个入口控制器-并且我们确实有其他Pod配置为通过此入口控制器接收外部请求) 我们现在拥有的是客户端用于外部连接的以下url: 我们想把它移到 这样,我们可以释放负载均衡器IP并且不需要特定的端口。我们确实想在一段时间内同时支持两个url-因为客户端已

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

  • 1-我正在阅读文档,我对措辞有点困惑。上面写着: 集群IP:在集群内部IP上公开服务。选择此值将使服务只能从集群内访问。这是默认的ServiceType NodePort:在每个节点的IP上的一个静态端口(NodePort)上公开服务。节点端口服务将路由到的集群IP服务将自动创建。您可以通过请求从集群外部联系NodePort服务。 LoadBalancer:使用云提供商的负载均衡器对外公开服务。外

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

  • 我通过玩迷你库贝来学习库伯内特。 如何与Minikube一起使用ingress?或者如何将minikube ip与ingress服务绑定--这样就可以在不使用nodeport的情况下将应用程序公开到外部

  • 在我们的kubernetes集群中使用netscalar,因此,我能够使用X-Forward-Form、会话关联、负载平衡算法以及入口。 现在,尝试将服务类型设置为LoadBalancer,这样我就不必有入口。我知道,服务类型loadbalancer提供L4-loadbalancer,因此在负载均衡器中不会有会话关联特性。因为,它是可以的少数服务,我试图使用这个。 我和我在尝试使用HTTPS服务时