首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将现有负载均衡器用于K8S服务

将现有负载均衡器用于K8S服务
EN

Stack Overflow用户
提问于 2022-02-04 18:58:35
回答 1查看 498关注 0票数 0

我有一个简单的应用程序,我需要部署在K8S中(运行在AWS上),并将它公开给外界。

我知道我可以添加一个类型为LoadBalancer的服务,K8S将为我创建ALB。

代码语言:javascript
复制
spec:
  type: LoadBalancer

然而,问题是,它将创建一个新的LB

对我来说,这是一个问题的主要原因是,我试图把基础设施的创建/升级(相对于软件部署/升级)分开。我的所有基础设施将由Terraform管理,我的所有软件都将通过K8S YAML文件定义(将来可能是Helm )。

而负载均衡器(基础设施)的创建破坏了这个模型。

两个问题:

我是否正确地理解了你不能改变这种行为( existing)?

  • vs.

  • ,我读过多篇关于K8S的文章,它们都把我引向了攻题+攻题控制器的方向。这就是解决这个问题的方法吗?

我对朝这个方向走是犹豫不决。要使它正常工作,需要大量的步骤,我需要时间才能找到如何在Terraform和k8s YAML文件中对其进行改造。

EN

回答 1

Stack Overflow用户

发布于 2022-02-04 19:47:36

简而言之,您只能将其更改为"NodePort“,并通过将EKS节点添加到正确的公开端口来手动耦合现有的LB。

喜欢

代码语言:javascript
复制
spec:
  type: NodePort
  externalTrafficPolicy: Cluster
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
      nodePort: **30080**

但是,要像本机一样将其附加起来,AWS k8s Controller还不支持它,并且可能没有优先考虑这样的行为:

  • Configuration:控制器从k8s配置映射或特殊CustomResourceDefinitions(CRDs)中获得配置,这些配置将与现有LB上的任何手动配置相冲突,而我的结果是删除现有的信任信息,而不是在信任源中跟踪。

问:直接暴露或覆盖入口:

注意:如果您有(+1)服务要公开或需要添加公开API.

的控件,则使用ingress ( Nginx或ALB )。

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

https://stackoverflow.com/questions/70991529

复制
相关文章

相似问题

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