引言:告别手动,拥抱声明式
在传统的部署流程中,我们常常需要手动执行一系列命令:SSH 到服务器、拉取新代码、编译、重启服务、检查日志、处理错误…这个过程不仅繁琐低效,而且极易出错,难以保证环境的一致性。
Kubernetes 彻底改变了这一切。它通过一种 “声明式” 的模型,让我们只需告诉它 “我想要什么”(期望状态),而不是 “如何去做”(执行命令)。Kubernetes 的控制平面会自动且持续地工作,驱动整个系统达到并维持我们所声明的状态。这意味着自动部署、自我修复、无缝扩缩容和零停机发布成为了内置能力,而非需要复杂脚本实现的梦想。
本文将作为你的终极指南,深入探讨 Kubernetes 如何实现这些功能,并带你掌握从基础到高级的部署与发布策略。
第一部分:基石概念 - Pod 与控制器
1.1 Pod:Kubernetes 的最小调度单元
首先,必须理解一个核心概念:Kubernetes 不直接管理容器,它管理 Pod。
- 什么是 Pod? 一个 Pod 是一个或多个容器的逻辑分组。这些容器共享网络命名空间(IP 地址)、存储卷和其他运行资源。
- “逻辑主机”模型:你可以将一个 Pod 类比为一台物理机或虚拟机,而它内部运行的容器就像是这台