首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kubernetes的负载平衡

kubernetes的负载平衡
EN

Stack Overflow用户
提问于 2019-03-30 06:29:22
回答 1查看 54关注 0票数 1

我在http://blog.cowger.us/2018/07/25/using-kubernetes-externaldns-with-a-home-bare-metal-k8s.html读了一篇关于http://blog.cowger.us/2018/07/25/using-kubernetes-externaldns-with-a-home-bare-metal-k8s.html的文章,作者们说

留给裸金属集群运营商的是两个较小的工具,用于将用户流量引入集群,即“NodePort”和“外部to”服务。这两种选择都有的显著缺点用于生产,这使得裸金属簇二等公民在库伯奈特的生态系统。

我想知道这些重大的缺点是什么。

EN

回答 1

Stack Overflow用户

发布于 2019-03-30 07:00:19

带有type: NodePort的服务将在所有节点上打开相同的端口,使客户端能够将其流量定向到任何节点,而kube可以从这一点开始平衡Pods之间的通信量。你在这里面临三个问题:

  1. 除非您对依赖于单个节点感到满意,否则您需要创建自己的负载平衡解决方案,以针对多个(甚至所有)节点。当然,这是可行的,但您需要额外的软件或硬件加上配置。
  2. 对于上面的配置,您还需要一种机制来发现节点的IP地址,保持该列表的更新,并监视节点的健康状况。再一次,可做的,但额外的痛苦
  3. NodePort只支持从特定范围内选择端口号(缺省值为30000-32767)。范围可以修改,但您将无法选择您最喜欢的端口,如80或443的方式。同样,如果您有一个将隐藏此实现细节的外部负载平衡解决方案,也不是一个很大的问题。

至于使用type: ClusterIP (默认)和externalIPs: [...] (必须指定节点的IP地址(Es))的服务,您的问题将是:

  1. 您需要一些方法来选择一些健康的节点,并使用该列表更新服务对象。可行,但需要额外的自动化。
  2. 相同1.,适用于NodePort
  3. 虽然您可以在这里选择任意的端口号(所以80、443、3306可以),但是您需要做一些管理工作,以避免尝试从两个不同的Service对象在同一个节点上使用相同的端口号。再说一次,可行,但你可能有更好的事情要做
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55428821

复制
相关文章

相似问题

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