云原生学习路线(针对 C#/.NET 背景)
云原生的核心是 CNCF 定义的四要素:容器化、自动化管理、面向微服务、可观测性。下面按优先级分阶段拆解。
一、学习路线总览
| 阶段 | 主题 | 核心内容 | 推荐时长 | 与你工作的关联 |
|---|---|---|---|---|
| L1 入门 | Linux + Docker | 命令行、镜像、容器、卷、网络、Compose | 2-3 周 | 替代 IIS 部署评标系统 |
| L2 编排 | Kubernetes | Pod/Deployment/Service/ConfigMap/Ingress | 4-6 周 | 多副本评标/AI智能评服务 |
| L3 持续交付 | CI/CD + GitOps | Jenkins/GitLab CI、ArgoCD、镜像仓库 | 2 周 | 西安发版流程自动化 |
| L4 可观测性 | Logging/Metrics/Tracing | Prometheus+Grafana+Loki+Tempo(PLG) | 2 周 | 替代 SQL Profiler + 线程 Dump |
| L5 服务网格 | Istio / Linkerd | 流量管理、mTLS、灰度发布 | 2-3 周 | 微服务间鉴权(CA 认证场景) |
| L6 进阶 | Serverless / Dapr / Knative | 事件驱动、分布式应用运行时 | 按需 | AI 智能评事件触发场景 |
二、L1-L2 核心知识点(必学)
L1 Docker 必学清单
- 镜像层:Dockerfile 多阶段构建(.NET 8 镜像从200MB 缩到 80MB)
- 数据卷:解决
td_BidInfo加密文件持久化问题 - 网络模式:bridge / host / overlay(评标系统内网通信)
- Compose:本地起 Redis + SQL Server + 评标服务
L2 Kubernetes 必学清单(⭐最重要)
plaintext
核心资源:
Pod → 最小调度单元
Deployment → 无状态应用(你的 ASP.NET Core WebAPI)
StatefulSet → 有状态(SQL Server 替代品?)
Service → ClusterIP / NodePort / LoadBalancer
Ingress → NGINX Ingress(你已有 NGINX 经验)
ConfigMap → 配置驱动(告别硬编码 DesString!)
Secret → 密钥管理(XOR 密钥配置化)
PVC → 持久卷(标书文件存储)
工作机制:
Scheduler / Controller / kubelet / kube-proxy
Service域名解析(CoreDNS)
健康检查:livenessProbe / readinessProbe
三、针对 .NET 背景的特别建议
| 云原生概念 | .NET 对应技术 | 备注 |
|---|---|---|
| 容器化 | ASP.NET Core 内置镜像支持 | .NET 8 alpine 镜像仅 ~80MB |
| 微服务 | Minimal API / Worker Service | 比 WebAPI 更轻量 |
| 配置中心 | IOptions<T> + ConfigMap 挂载 |
解决你硬编码痛点 |
| 健康检查 | AddHealthChecks() |
替代你现有的健康检查脚本 |
| 服务发现 | Kubernetes DNS + HttpClientFactory | 替代 NGINX upstream |
| 链路追踪 | OpenTelemetry .NET | 兼容你 Java/Python 栈 |
| Serverless | .NET NativeAOT + K8s | 冷启动 <100ms |
四、推荐实操路径(最小可用)
bash
# 第 1 周:把现有 ASP.NET Core 应用容器化
docker build -t gbes-api:v1 .
docker run -d -p 8080:8080 gbes-api:v1
# 第 2 周:Compose 多服务编排
docker-compose up -d # redis + api + nginx
# 第 3-4 周:本地 K8s 集群
minikube start # 或 kind / k3d(轻量)
kubectl apply -f deployment.yaml
# 第 5 周:上生产(华为云 CCE / 阿里 ACK)
# 你已有 172.16.5.x 服务器运维经验,可直接用 KubeKey离线部署
五、避坑提醒(基于你的背景)
- 不要直接学 Istio:先吃透 K8s 基础再上服务网格
- SQL Server 别盲目上 K8s:StatefulSet + PVC 复杂度高,先用云数据库(RDS)
- Windows容器少碰:Linux 容器生态占95%+,迁移成本高
- 不要从 Knative/Serverless 入手:基础没打好直接懵
- 学 Istio 时绕开 Envoy源码:先会用再读原理
六、学习资源推荐
| 类型 | 推荐 | 说明 |
|---|---|---|
| 官方文档 | kubernetes.io/docs | 最权威,必读 |
| 视频 | 张磊《Kubernetes 进阶训练营》 | 国内最系统 |
| 书 | 《Kubernetes 权威指南》(第 5 版) | 工具书级别 |
| 实战 | KillerCoda / Play with K8s | 免费在线 K8s 实验环境 |
| .NET 专项 | Microsoft Learn: "ASP.NET Core microservices" | 官方教程 |

浙公网安备 33010602011771号