教程
🚀

运维与 DevOps

Docker、Kubernetes、CI/CD 与云原生实践。

云原生是什么:不只是一堆新工具

从"为什么传统部署跟不上业务"讲起,理解云原生的核心思想——容器、微服务、不可变基础设施与声明式 API,以及 CNCF 生态全景。

· 更新于 2026-07-20 阅读量 --

你辛苦把应用部署到一台服务器上,配好环境、改好配置。结果流量一上来,这台机器扛不住了;你想加机器,却发现”新机器环境和老的对不上”,又得折腾一遍。更惨的是,这台机器硬盘坏了,所有状态全丢。

这不是你的问题,而是传统”宠物式”部署思路的局限:你把服务器当”宠物”精心照料,一台出问题全家遭殃。而 云原生(Cloud Native) 换了一种思路——把服务器当”牲口”,标准化、可替换、随用随弃,让系统能弹性伸缩、自愈、快速迭代。

这一篇我们先建立云原生的”世界观”,下两篇再落地到 Kubernetes 这个核心引擎。

云原生到底”原生”在哪

“云原生”不是某一项技术,而是一套设计理念 + 技术组合,目标是让应用”为云而生”,充分利用云计算的弹性。CNCF(云原生计算基金会)把它概括为几个核心要素,我们用大白话讲:

1. 容器化(Containerization)

就是我们在 docker-basics 里学的:把应用和依赖打包成标准化镜像,到哪都能一致运行。容器是云原生的”基本粒子”——所有上层能力都建立在它之上。

2. 微服务(Microservices)

把一个庞大的”单体应用”拆成一组小而独立的服务,各自负责一块业务(用户、订单、支付),可以独立开发、部署、扩缩容。好处是”改一个小功能不用全量发版”,坏处是系统变复杂、需要服务治理。

注意:微服务不是银弹。小团队硬上微服务,光运维就能把人累死。云原生不强制微服务,但微服务几乎必然需要云原生能力来支撑。

3. 不可变基础设施(Immutable Infrastructure)

传统做法:服务器出问题时,你 SSH 上去”修一修”(装个包、改个配置)。这叫”可变基础设施”——环境被悄悄改乱,谁也说不清现在到底啥状态。

云原生反其道:基础设施一旦创建就不再修改。要更新?直接销毁旧的、用新镜像起一个新的。环境永远”干净可预期”,回滚就是”换回旧镜像”。这和你写代码”不原地改,而是重新部署一版”是一个道理。

4. 声明式 API(Declarative)

这是云原生最反直觉也最强大的点。传统是命令式:你一步步下令”先建机器、再装软件、再启动”。云原生是声明式:你只写”我最终想要什么状态”(比如”我要 3 个订单服务副本,每个用镜像 X”),系统自己想办法达成并持续维持这个状态。

打个比方:命令式像”你亲自开车去目的地”,声明式像”设好导航说’我要去公司’,车自己开”。如果路上抛锚(某个副本挂了),系统会自动”再起一个”把你拉回目标状态——这就是自愈

云原生的技术全景(CNCF 生态)

云原生不是只有 Kubernetes。CNCF 维护着一个庞大的”毕业/孵化”项目地图,几个你该混个脸熟的:

  • 编排:Kubernetes(容器编排的事实标准,下两篇主角)。
  • 服务网格:Istio、Linkerd(处理服务间通信、熔断、鉴权)。
  • 可观测性:Prometheus(指标)、Grafana、Jaeger(链路),正好接上我们监控系列。
  • 容器运行时:containerd、Docker(早期)。
  • 声明式交付:Helm(K8s 的包管理,下下篇会讲)。

你会发现,前面学的 Docker、Prometheus,全都是云原生拼图的一部分。学云原生不是学新东西,而是把已学的能力组织成一套体系

云原生解决了什么真实痛点

  • 弹性伸缩:流量高峰自动加副本,低谷自动减,省钱又抗压。
  • 高可用自愈:某个实例挂了,系统自动拉起新的,用户无感知。
  • 快速发布:配合 CI/CD,新版本分钟级上线、秒级回滚。
  • 环境一致:容器 + 不可变基础设施,彻底消灭”我机器上能跑”。
  • 资源利用率高:多应用混部在一堆机器上,由编排器统一调度,不再”一台机器只跑一个应用”。

常见认知误区

  • “上云 = 云原生”:错。把单体应用原样搬上云服务器,只是”用云的主机”,没用云的能力,不算云原生。
  • “云原生就是 Kubernetes”:K8s 是核心但不是全部,没有监控、CI/CD、微服务治理配合,K8s 只是个”高级启动器”。
  • “小项目也要云原生”:杀鸡用牛刀。云原生有运维复杂度成本,个人小项目用 Docker + 一台云主机足矣。
  • “微服务必须先做”:应先把单体写好、边界清晰,再按需拆分,别一上来就拆。

小测验:看看你掌握了没

  • 问题一:声明式和命令式有什么区别?答案:命令式是一步步下令执行,声明式是描述目标状态由系统自动达成并维持(自愈)。
  • 问题二:不可变基础设施是什么意思?答案:基础设施创建后不再修改,更新即销毁重建,环境始终干净可预期。
  • 问题三:上云就等于云原生吗?答案:不等于,需真正用上容器、弹性、声明式、自愈等云原生能力。

这一篇你该记住的

  • 云原生是一套”为云设计”的理念 + 技术组合,核心:容器化、微服务、不可变基础设施、声明式 API。
  • 声明式 = “描述想要什么状态”,系统自动达成并自愈,是云原生最强大的思想。
  • 不可变基础设施:不原地改,更新即重建,回滚就是换镜像。
  • CNCF 生态里 Docker、Prometheus、K8s、Helm 都是拼图;云原生是把已学能力体系化。
  • 误区:上云≠云原生、K8s≠全部、小项目不必强上。

理解了世界观,下一篇我们钻进云原生的”发动机”——Kubernetes,搞清楚 Pod、Deployment、Service 这些核心概念到底在管什么。