【问题标题】:Using Kubernetes or easier orchestration tools使用 Kubernetes 或更简单的编排工具
【发布时间】:2019-10-24 08:20:44
【问题描述】:

希望对如何在本地小型公司环境中处理编排数量的微服务有一些深入的了解。目前,我们正在寻求像世界其他地方一样将系统从单体转换为微服务:)。

作为一名架构师,我遇到的问题是用我们目前拥有的资源证明巨大的学习曲线和服务器需求是合理的。我可以很容易地看到我们有 50 多个微服务,我觉得这些微服务可能在使用 kubernetes 的那条线上,也可能不在。

问题是,如果我们不这样做,我们如何监控它是否在本地。我们确实使用 Azure Devops,所以我想知道这是否适合部署部分。

谢谢!

【问题讨论】:

    标签: kubernetes containers orchestration


    【解决方案1】:

    这归结为关于基本复杂性与偶然复杂性的辩论。来自公司的判断是,k8s 与 swarm 和其他编排器在业界几乎没有讨论过。

    https://www.reactiveops.com/blog/is-kubernetes-overkill

    基于 Kubernetes 构建的平台仍在不断涌现,为那些想要更高抽象级别但还不够成熟的用户提供更简单的接口。 GKE 提供了一种非常简单的方法来处理工作负载,AKS 仍在成熟,因此您可能会遇到一些错误,但它与 Azure Devops 紧密集成。

    尽管他们的本地产品似乎还没有完全成熟,但微软全力以赴地开发 k8s。 GKE on-prem 和 Openshift 4.1 提供完全托管的本地(如果使用 vSphere),标价为 1200 美元/核心/年。 https://nedinthecloud.com/2019/02/19/azure-stack-kubernetes-cluster-is-not-aks/

    只要您能够自行管理计算、存储和网络,其他本地部署方式就会不断涌现。安装和升级变得越来越容易(参见例如https://github.com/kubermatic/kubeone,它建立在 cluster-api 抽象之上)。对于像 talos 这样雄心勃勃的裸机项目,他们正在制作特定于 k8s 的不可变操作系统 (https://github.com/talos-systems/talos)。

    AWS 仍对 ECS 和 Fargate 的锁定抱有希望,但能否成功还有待观察。

    【讨论】:

    • 非常感谢@user578582。很多伟大的见解,我将阅读上面的项目。所以听起来有一些很好的托管选项(我知道这就是世界的发展方向)。我认为我被困的地方是我们的法规和风险部门到今天仍然对将任何关键的东西移出云端感到厌倦。您对“爬行、行走、奔跑”的方法有何看法?我的想法是,如果我们做一些微服务,看看它是如何进行的(爬网),然后开始使用微软内置的监控和心跳/监视器(步行),然后开始实施编排(运行)。
    • 你会听到不同的想法,告诉你要多快。在这一点上,你可能最好选择几个虚拟机、一个合适的项目并安装 k8s(至少对于开发环境)。有许多银行在 prod 中使用 k8s,因此它可以工作,尽管他们可能已经在顾问身上花费了很多钱来为他们调整旋钮。如果您可以将 Azure Devops 设置为在每个拉取请求上提供 PR 环境,那么您将很快取得成功。随着环境的启动和运行,您可以获得具体的学习方式,并且可以让安全和网络人员使用几个月。
    • 你会知道什么最适合你。其他一些随机想法 - 如果您使用 VMWare,他们都在 k8s 上,并且最近收购了两家 k8s 公司,因此可以提供良好的支持。大多数保守的公司似乎都计划在本地进行现代化改造,然后在合适的时候迁移到云端。除非应用程序现代化(尽管有像 GKE Migrate 这样的工具可以将单体导入 k8s),否则 k8s 的好处并不真正存在。因此,在一个解决方案中,您理想地希望能够在本地安装,然后在云中添加工作负载。所有提供商(Redhat、GCP、VMWare)都提供这种混合策略。
    • 在云端运行单体应用的成本是在本地运行的五倍。因此,在您进行现代化改造时,将单体应用程序移入 k8s 作为临时站才有意义。咨询公司的方法是做一个应用程序清单,然后决定哪些应用程序将被现代化和移动(比如 18 个月),哪些应用程序太难并且可能会被淘汰。
    • 没有问题。如果您只是在玩弄它,那么您可以在一台虚拟机上摆脱一切。如果您想要更具代表性的东西 - 在不同的裸机机器上使用 3 个小型(2 核)主 VM。对于工作人员,您可以根据工作负载需求调整它们的大小 - 如果一两个节点消失,您希望所有工作负载仍然可以运行。因此,无论您的工作负载要求是什么,都可以使用 3-5 个以上的节点。人们倾向于从多个小集群开始,随着他们获得信心,迁移到数量越来越少的集群。添加节点很容易。
    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    相关资源
    最近更新 更多