凌晨 3 点,某大厂运维工程师第 7 次被报警系统惊醒——某个 YAML 配置的缩进错误,让整个生产环境的 Pod 陷入死亡循环。他熟练地打开 GitHub 上收藏的“K8s 故障百科全书”,在满屏的 CRD、Operator 和 Sidecar 配置中试图定位问题,恍惚间想起十年前师父的话:“运维这行,学会 Shell 脚本就能横着走。”
如今,云原生技术席卷全球,Kubernetes 成了企业数字化转型的“标配”,但荒诞感却与日俱增:宣称“降低运维成本”的工具,需要年薪百万的专家团队维护;承诺“弹性伸缩”的架构,让故障排查复杂度指数级飙升;本应专注业务的开发者,60%的时间在调试 Ingress 和 StorageClass。
当工具复杂度吞噬业务价值,这场集体狂欢背后,究竟是谁在买单?
用于自动化软件部署、扩展和管理的开源容器编排系统 K8s 因过于复杂而声名狼藉。
在这篇文章中,让我们来探讨一下这种声誉是否当之无愧。
1
从 Shell 脚本到 YAML 炼狱,运维究竟经历了什么?
Kubernetes 带来了部署应用程序的工程师必须学习的全新词汇:Pod 、Deployments、Services 和 Ingress 等术语只是一个起点。如果没有分布式系统或容器化方面的基础知识,很容易迷失在无数的概念以及它们如何组合在一起中。
确实,Kubernetes 具有多层复杂性。