首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ingress-nginx图表创建只有内部的负载均衡?

如何使用ingress-nginx图表创建只有内部的负载均衡?
EN

Stack Overflow用户
提问于 2021-04-22 05:52:49
回答 1查看 1K关注 0票数 1

在我的AWS EKS中,我使用以下命令安装了nginx-ingress:

代码语言:javascript
复制
helm upgrade --install -f controller.yaml \
    --namespace nginx-ingress \
    --create-namespace \
    --version 3.26.0 \
    nginx-ingress ingress-nginx/ingress-nginx 

其中controller.yaml文件如下所示:

代码语言:javascript
复制
controller:
  ingressClass: nginx-internal
  service:
    internal:
      enabled: true
      annotations:
        service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0

我有几个应用程序,每个应用程序的入口都有不同的虚拟主机,我希望所有入口对象都指向内部负载均衡器,即使我在应用程序的入口设置了ingressClass,它们似乎也指向公共负载均衡器:

代码语言:javascript
复制
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx-internal

那么,有没有办法只创建一个内部负载均衡器,其入口指向该负载均衡器?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-07-17 09:53:32

注意到您在controller.yaml中启用了internal设置。根据documentation的说法,此设置会创建两个负载均衡器,一个外部负载均衡器和一个内部负载均衡器,以防您想要将某些应用程序暴露在internet上,而其他应用程序仅在同一k8s集群中的私有网络内。

如果你只想要一个内部负载均衡器,试着这样设置你的controller.yaml

代码语言:javascript
复制
controller:
  service:
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
      service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
      service.beta.kubernetes.io/aws-load-balancer-type: nlb
      service.beta.kubernetes.io/aws-load-balancer-internal: "true" 
      service.beta.kubernetes.io/aws-load-balancer-subnets: "subnet-xxxxx,subnet-yyyyy,subnet-zzzzz"

它将只配置一个NBL,用于在内部路由流量。

使用service.beta.kubernetes.io/aws-load-balancer-subnets注释,您可以选择负载均衡器将流量路由到哪些可用区/子网。

如果您删除service.beta.kubernetes.io/aws-load-balancer-type注释,则将提供传统负载均衡器,而不是网络。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67203957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档