• 成本翻倍,部署复杂!为什么要停止使用Kubernetes


    aac70b6c7759d7f5d7f6581cf1bae6de.gif

    【CSDN 编者按】如果你正在犹豫是否使用 Kubernetes,请仔细衡量优缺点,认真做比较。

    原文链接:https://thetechtrailblazer.blog/2023/02/14/dont-use-kubernetes-please/

    未经授权,禁止转载!

    作者 | aly kafoury    译者 | 弯月

    出品 | CSDN(ID:CSDNnews)

    我在软件行业摸爬滚打了十余年,形形色色的角色都担任过。以前,遇到一些新兴的工具,人们会认真比较优缺点,而如今却变成了无脑跟着潮流走。

    Kubernetes 就是其中之一。如今,在 Kubernetes 上托管应用程序已成为部署应用程序的标准,而无论 Kubernetes 能否带来切实的好处。我希望通过本文,说明使用 Kubernetes 的缺点, Kubernetes 对软件开发周期的破坏、成本的增加,以及对敏捷性的负面影响,从而唤醒软件行业的理智。

    e759e42e9e14b67b510adfb84771d426.png

    使用 Kubernetes 会导致成本增加

    假设你是一家中小型初创公司,你的应用程序由几个后端服务、一个数据库、一个缓存服务和一个负载均衡器组成。这个设置包括 2 个托管服务(数据库和缓存)、6 个用于后端服务冗余的小型机器和 2 个负载均衡器(如果正常部署到云的话)。

    如果在这个配置中加入 Kubernetes,则仅仅是为了运行额外的sidecar,就不得不使用两倍的机器:三台机器运行Kubernetes的控制平面,另外三台运行etcd集群,同时还需要添加多个内部服务,比如Ingress控制器以及日志和指标收集。

    虽然加入 Kubernetes 会导致你的成本翻倍,但实际上对于中小型企业来说,你根本使用不了 Kubernetes 的任何功能。

    d3e660b28ffc8e386642564ba185eeb1.png

    Kubernetes 的部署非常复杂

    一般,正常的设置需要占用 CI/CD 工程师几天的时间,而调试与基础设施相关的问题用时不会超过一两个小时。

    然而,Kubernetes 的部署需要渲染模板、设置 CI/CD 运行器、动态生成 kubeconfigs 以确保安全等,通常要占用 CI/CD 工程师不少于一个月的时间才能准备好生产级的环境。为了调试错误,你可能需要花费数天时间来弄清楚哪些涉及底层基础设施、哪些是 Kubernetes,而哪些关系到应用程序本身。我曾经花了 6 个小时调查为什么 CoreDNS 无法注册新服务,最后却发现只是一个非常小的错误。

    16e0ee07a08de1849f476c3191dd4e33.png

    Kubernetes 不稳定

    由不同的维护者部署许多不同版本的组件,这个想法就注定了 Kubernetes 集群不可能没有错误,从网络 CNI 到控制器,再到自定义操作符,这些对象往往很容易破坏https。

    把真实的网络组件封装后放在云的网络虚拟化中,只会让一切变得非常复杂。

    ae69709525983e8a1ca52ae43bdc2adc.png

    版本管理困难

    跟踪集群上部署的所有组件的所有版本需要耗费大量时间。你需要投入一个专职工程师来维护第三方平台上的配置,还需要处理由于更新引发的各种故障。

    988769a848d35cc7ecde0f3f5dcb5eed.png

    DevOps 工程成本飙升

    如果你选择了面向那些资金充裕、不在乎 Kubernetes 带来额外成本的大型企业方案,那么成本飙升是必然的。

    c89fa04aae97587bc16c523ac411ab84.png

     受攻击的范围更大

    Kubernetes 有其自身的安全漏洞,因此会导致你的应用程序的受攻击的范围翻倍。你是否有预算雇佣安全工程师来处理这个问题,还是说你只有一位 DevOps 工程师,采纳 Kubernetes 后,工程师需要承担更多的安全工作?

    Kubernetes 攻击每天都在发生,管理它们并非易事。长期来看,最终你还是需要聘请一名安全工程师来保护这些没有必要的技术栈。

    11f01c2f63b80ca7a091ce7fc15e5263.png

    总结

    我希望通过这篇文章,让大家看到一些疯狂的技术决策趋势,这些决策只是盲目跟风,并没有太大受益。

    最后,如果你正在犹豫是否使用 Kubernetes,请仔细衡量优缺点,认真做比较。

     
     

    48d1f4ac0eec8f8f457a4c34e8945282.gif

    1. ☞ChatGPT 的开源“替代”来了!前 OpenAI 团队出手,能用中文提问,3 天斩获 3k+ Star
    2. ☞烧数亿美元、耗上万颗英伟达 GPU,微软揭秘构建 ChatGPT 背后超级计算机往事 !
    3. ☞GPT-4 发布:在考试中击败 90% 的人类;谷歌开放大语言模型 PaLM API;FireFox 111 发布|极客头条

    0d1d390b3f70eda78de97e3afa870938.jpeg

  • 相关阅读:
    题目:2839.判断通过操作能否让字符串相等 I
    shell脚本之双重循环
    golang问题
    java毕业生设计在线党建学习平台计算机源码+系统+mysql+调试部署+lw
    Spring是什么?
    qt QPainter画灯泡
    Mac 使用 scp 上传或下载文件/文件夹
    SpringBoot/Spring AOP默认动态代理方式
    idea项目找不到符号
    Shell系统学习之函数
  • 原文地址:https://blog.csdn.net/csdnnews/article/details/129575147