1. Devops①
  2. Devops②
  3. Devops③
  4. Devops④
  5. Devops⑤
  6. Devops⑥
  7. Devops⑦
  8. Devops⑧
  9. Devops⑨

第 4 节 · 使用 Kubernetes 管理容器应用(含 Serverless 简介)

☸️ 什么是 Kubernetes(K8s)?

Kubernetes 是一个开源的容器编排平台,用于自动化容器应用的部署、扩容、负载均衡和管理。

它就像“容器集群的大脑”,可以帮你在成百上千台服务器之间调度容器。


🧠 为什么需要 K8s?

场景问题 Kubernetes 能解决什么
容器多、管理难 自动调度和管理容器运行状态
服务不可用 Pod 异常自动重启、自动迁移
流量暴增 自动扩容 Replica 数量
更新上线容易中断 滚动更新 + 回滚机制

🛠 Kubernetes 核心概念

概念 解释
Pod 最小的调度单元,包含一个或多个容器
Node 集群中的一台主机,可以运行 Pod
Deployment 控制 Pod 数量和滚动更新策略
Service 提供统一访问入口,实现负载均衡
Namespace 用于资源隔离(如 dev/test/prod)

🚀 应用部署流程示意图


📦 K8s YAML 示例:部署 FastAPI 应用

apiVersion: apps/v1
kind: Deployment
metadata:
name: fastapi-deployment
spec:
replicas: 2
selector:
matchLabels:
app: fastapi
template:
metadata:
labels:
app: fastapi
spec:
containers:
- name: fastapi
image: my-fastapi-app:latest
ports:
- containerPort: 8000

🌩 Serverless 简介

Serverless ≠ 没有服务器,而是你不用管服务器

Serverless 强调:

  • 💥 有请求才启动函数,资源“用完即消”
  • 💰 按请求次数和执行时间计费,更省钱
  • ⚡️ 部署极简,不需要配置服务器环境

🆚 K8s vs Serverless 对比

特性 Kubernetes Serverless(如 AWS Lambda)
控制能力 高,可自定义网络、持久化等 低,被平台托管
启动速度 秒级 毫秒级(冷启动)
成本控制 有固定资源成本 按调用量计费,闲时不花钱
适合场景 中大型系统、微服务平台 轻量函数、API、小服务

💡 混合架构实践

在实际项目中,K8s 和 Serverless 往往可以混用:

  • 使用 K8s 托管主要服务(高可用、可扩展)
  • 使用 Serverless 做图像处理、定时任务、事件处理等边缘功能

下一节预告 👉 第 5 节:基础设施即代码(IaC)与 Terraform 入门