首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自定义算法的Kubernetes缩放豆荚

使用自定义算法的Kubernetes缩放豆荚
EN

Stack Overflow用户
提问于 2018-05-03 22:39:34
回答 2查看 237关注 0票数 1

我们的云应用程序由3个紧密耦合的Docker容器、Nginx、Web和Mongo组成。目前,我们在一台机器上运行这些容器。然而,随着用户的增加,我们正在寻找一个规模的解决方案。使用Kubernetes,我们将形成一个多集装箱吊舱。如果我们要复制,我们需要复制所有三个容器作为一个单位。我们的云应用程序是由移动应用程序用户使用的。我们的应用程序只能处理每个工人节点大约30000用户,我们打算在一个工人节点上放置一个单荚。一旦移动设备连接到工作节点,它必须继续只使用该机器(唯一的IP地址)。

我们计划使用Kubernetes来管理容器。负载平衡对于我们的用例不起作用,因为一旦分配了移动设备,移动设备就需要绑定到一台机器上,并且每个Pod使用自己的持久卷独立工作。但是,如果用户数量超过30000,我们需要一种在工作节点上构建新Pods的方法。

我们的想法是,我们有某种自定义调度程序,它根据节点上的用户数为移动设备分配一个Worker node (域/ IPaddress)。

是库伯内特斯的一个很好的适合这个设计,我们如何能够实现自定义荚规模算法。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-04 06:43:59

小猪-乔纳·本顿的回答:

虽然这在技术上是可能的-你的问题不是库伯奈特斯,而是你的应用程序!让我指出一个问题:

我们的云应用程序由3个紧密耦合的Docker容器、Nginx、Web和Mongo组成。

这是您的第一个问题:您只能将这三个容器部署在一起而不是独立地部署--您不能缩放其中的一个或另一个!虽然MongoDB可以扩展到疯狂的负载--如果它与您的web服务器和web应用程序捆绑在一起,它将无法.

因此,第一步是分解这三个组件,这样它们就可以相互独立地管理。下一步:

目前,我们在一台机器上运行这些容器。

虽然这不是一个严格意义上的问题,但我非常怀疑扩展应用程序意味着什么,以及可伸缩性带来的挑战是什么!

一旦移动设备连接到工作节点,它必须继续只使用该机器(唯一的IP地址)。

现在这是个问题。您希望在Kubernetes上运行一个应用程序,但我认为您不理解这样做的后果: Kubernetes编排了您的资源。这意味着它将在节点之间移动豆荚(通过杀死和重新创建)(如果有必要的话,移动到同一个节点)。它实现了完全自主(这很棒,并让你睡个好觉),如果你依赖于客户端坚持一个节点IP,你会在半夜起床,因为Kubernetes试图纠正节点故障,并移动了你的吊舱,现在它已经没有了,你的用户不能再连接了。您需要利用Kubernetes中的负载平衡特性(服务)。只有它们能够处理Kubernetes集群中发生的动态变化。

使用Kubernetes,我们将形成一个多集装箱吊舱。

我们又有了一个赢家-不!你想把库伯内特斯当作是你的基础设施!如果你一直这样做,你就会在这个过程中失败并诅咒库伯奈特斯!

现在我告诉了你一些你想错了的事情--如果我不给出一些建议,我会是什么样的人呢?

在Kubernetes中,您的三个应用程序不应该在一个荚中运行!它们应该在单独的豆荚中运行:

如果你还有更多的问题,请随便问!

票数 2
EN

Stack Overflow用户

发布于 2018-05-04 01:14:03

支持构建自定义调度程序并同时运行多个调度程序:

https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/

尽管如此,对于库伯内特斯是否适合这一设计的问题,我的回答是:不太适合。

K8s可能很难操作,其回报是它为整个工作负载类提供的自动化和弹性水平。

这个工作量不是其中之一。为了获得任何好处,您必须编写一个调度程序来处理该应用程序的边缘故障和错误情况(当您在短时间内丢失一个节点时会发生什么.)以一种对k8s来说有意义的方式。你必须跟上正常的k8s操作的速度。

由于提供了这些信息,很难理解为什么要使用k8s来处理这个工作负载,而不是仅仅在某些VM上运行坞并编写一些自动化脚本。

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

https://stackoverflow.com/questions/50164736

复制
相关文章

相似问题

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