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 |
🌩 Serverless 简介
Serverless ≠ 没有服务器,而是你不用管服务器。
Serverless 强调:
- 💥 有请求才启动函数,资源“用完即消”
- 💰 按请求次数和执行时间计费,更省钱
- ⚡️ 部署极简,不需要配置服务器环境
🆚 K8s vs Serverless 对比
特性 | Kubernetes | Serverless(如 AWS Lambda) |
---|---|---|
控制能力 | 高,可自定义网络、持久化等 | 低,被平台托管 |
启动速度 | 秒级 | 毫秒级(冷启动) |
成本控制 | 有固定资源成本 | 按调用量计费,闲时不花钱 |
适合场景 | 中大型系统、微服务平台 | 轻量函数、API、小服务 |
💡 混合架构实践
在实际项目中,K8s 和 Serverless 往往可以混用:
- 使用 K8s 托管主要服务(高可用、可扩展)
- 使用 Serverless 做图像处理、定时任务、事件处理等边缘功能
下一节预告 👉 第 5 节:基础设施即代码(IaC)与 Terraform 入门
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xiaotan's Blog!
评论