为什么要将负载均衡器类型的服务放在Nginx Inress前面 [英] Why put a LoadBalancer Type of Service in front of the Nginx Ingress

查看:10
本文介绍了为什么要将负载均衡器类型的服务放在Nginx Inress前面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现了一些K8在生产中的用例,它们与公有云一起工作,将一个负载均衡器类型的服务放在Nginx Inress前面。(您可以从下面的YAML中找到一个示例。)

据我所知,入口可以用来向公众公开内部服务,那么在入口前面放置负载均衡器有什么意义呢?我可以删除该服务吗?

apiVersion: v1
kind: Service
metadata:
  annotations:
  labels:
    helm.sh/chart: ingress-nginx-3.27.0
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/version: 0.45.0
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
    kubernetes.io/elb.class: union
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  type: LoadBalancer
  loadBalancerIP: xxx.xxx.xxx.xxx
  externalTrafficPolicy: Cluster
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
    - name: https
      port: 443
      protocol: TCP
      targetPort: https
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/component: controller

推荐答案

...so what's the point to put a loadbalancer in front of the ingress?

这种方式使您可以利用云提供商的后备设施(例如多az等),则可以使用Inress对集群中的服务使用基于路径或名称的虚拟主机进一步控制路由。

Can I delete that service?

Inress不执行端口映射或Pod选择,并且您无法使用DNS解析Inress名称。

这篇关于为什么要将负载均衡器类型的服务放在Nginx Inress前面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆