全书目录

基础设施与运营系统

第十三章:容器、编排和基础设施即代码 —— 港口、电网和城建蓝图

1 分钟 396 字 第 13 / 962 个阅读单元

这一章里,把容器、编排和 IaC 看成“港口、电网和城市蓝图”。服务不只是写完就算完,还得能稳定装箱、发运、扩容、复制城市。

#Docker —— 标准集装箱

dockerfile
FROM node:22-alpine
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"]

Docker 解决的是:

  • 环境一致性
  • 打包标准化
  • 交付统一

它擅长“装箱”,不擅长“全城调度”。

#Kubernetes —— 全港口调度中心

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: api
spec:
  replicas: 3

Kubernetes 解决的是:

  • 多实例调度
  • 自动恢复
  • 服务发现
  • 滚动发布
  • 声明式期望状态管理

但它不适合:

  • 很小的单体
  • 团队没有集群运维能力
  • 你只是想先把服务跑起来

#Terraform —— 城市蓝图生成器

hcl
resource "aws_instance" "web" {
  ami           = "ami-a0cfeed8"
  instance_type = "t2.micro"
}

Terraform 的关键是:

  • 基础设施声明式管理
  • 环境可复现
  • 变更可审计
  • plan / apply 工作流

这一章最容易混淆的边界

技术 它不负责什么
Docker 不负责集群调度
Kubernetes 不负责云资源建模
Terraform 不负责运行时请求调度

核心关系

text
Docker 负责“装箱”
Kubernetes 负责“调度集装箱”
Terraform 负责“把港口和道路都提前画出来”