Tomcat Kubernetes单点故障和负载平衡

Tomcat Kubernetes单点故障和负载平衡,tomcat,nginx,load-balancing,kubernetes,high-availability,Tomcat,Nginx,Load Balancing,Kubernetes,High Availability,我对Kubernetes有一些基本的疑问 考虑下面的部署。第7层负载平衡器将通过Kubernetes服务将请求路由到NGINX服务器,NGINX将路由到Tomcat,Kubernetes服务 查询: 如果Kubernetes服务是单点故障,或者因为它由配置kube代理的多个POD支持,并且服务只是一个虚拟层,那么它不能被视为单点故障 上图是一个Kubernetes集群,这是一个单点故障还是我应该为需要支持HA且无停机时间的系统规划多个Kubernetes集群 上图利用了Kubernetes服务

我对Kubernetes有一些基本的疑问

考虑下面的部署。第7层负载平衡器将通过Kubernetes服务将请求路由到NGINX服务器,NGINX将路由到Tomcat,Kubernetes服务

查询:

  • 如果Kubernetes服务是单点故障,或者因为它由配置kube代理的多个POD支持,并且服务只是一个虚拟层,那么它不能被视为单点故障

  • 上图是一个Kubernetes集群,这是一个单点故障还是我应该为需要支持HA且无停机时间的系统规划多个Kubernetes集群

  • 上图利用了Kubernetes服务,默认情况下只支持L4负载平衡(仅限循环)。因此,假设tomcat服务器负载很重,轮询将不会根据使用情况平均分配负载。在上述拓扑中,如何根据系统资源消耗或使用情况或打开连接的数量实现负载分配

  • 注:上图中矩形框的数量仅具有代表性。我将在每层部署10到20个吊舱,以满足我的工作量

  • 如果Kubernetes服务是单点故障,或者因为它由配置kube代理的多个POD支持,并且服务只是一个虚拟层,那么它不能被视为单点故障
  • 我认为你后一种解释是正确的

  • 上图是一个Kubernetes集群,这是一个单点故障还是我应该为需要支持HA且无停机时间的系统规划多个Kubernetes集群
  • k8s群集不是HA,因为主节点是单点故障。主节点上的重要组件包括apiserver和controller manager,没有它们,您无法创建更多的POD或服务。也就是说,即使主节点关闭,您部署的服务也应该继续工作

    有一个关于如何在HA模式下设置k8s集群的指南,但我个人还没有尝试过:。还有,它允许您将多个k8s集群联合到跨云提供商

  • 上图利用了Kubernetes服务,默认情况下只支持L4负载平衡(仅限循环)

  • 这不是真的,kubernetes有一个名为ingress的测试功能,它支持L7负载平衡,看看是否有帮助:)

    成功地在内部部署了50多个kubernetes吊舱(计划在不久的将来扩展到250多个),下面是我和我的团队收集的经验观察结果:

  • 如果Kubernetes服务于单点故障或因为它是 由配置kube代理的多个POD支持,并且 服务只是一个虚拟层,不能将其视为单个服务 失败点
  • 如果负载平衡器(LB)映射到单节点IP,则将是单点故障,因为该VM/物理服务器的故障将导致整个应用程序停机。因此,将LB点指向至少2个不同的节点IP

  • 上图是一个Kubernetes集群,这是一个单点吗 或者我应该为系统计划多个Kubernetes群集 我需要在零停机的情况下支持HA
  • 使用负载平衡器在HA中配置Kubernetes

  • 上图利用了Kubernetes服务,默认情况下只支持L4负载平衡(仅限循环)。所以说雄猫 服务器负载很重,循环调度无法平均分配负载 根据使用情况。如何实现基于系统的负荷分配 上述区域中的资源消耗或使用情况或打开的连接数 拓扑结构
  • 是的,目前只支持循环负载平衡。在我上次检查时,Ingress处于测试阶段,尚未准备好生产。 NGINX+可用于负载平衡,忽略Kubernetes负载平衡,并使用Kubernetes API对其进行配置,以便在运行时在NGINX+中更新Tomcat吊舱的添加或删除,而不会造成任何停机。(我还没有尝试过,但如果将来的设置会带来任何挑战,我们可能会考虑)


    请参阅:

    谢谢。。。2.我可以为Kubernetes大师设计HA。UBETNETES不是GA因此不能考虑的。3.Ingress仍处于测试阶段。。因此目前不能考虑。因此,我认为目前kubernetes服务只支持L4负载平衡。对#4有什么评论吗?我不确定我是否正确理解#4。您是否建议使用两个重复的k8s群集?正确-使用duplicae k8s群集是否有助于HA,或者这是不必要的复杂性?我不能有任何单点故障,因此queryYes,您将使Kubernetes master(api服务器、控制器管理器)更具弹性。这就像是手动操作Ubernetes。如何使nginx容器和tomcat容器之间的负载平衡器透明?LB看起来像一个单点故障。