云原生完整学习路线1

容器化是云原生的基础子集;

云原生是一套思想 + 技术栈,不只是 Docker/K8s,包含应用架构、交付、运维、安全整套体系。

云原生官方定义:基于云原生技术构建应用,具备弹性、可观测、自动化、可移植、松耦合,核心基石:Kubernetes。

整体学习顺序:前置基础 → 容器 (Docker) → K8s 核心 → 云原生可观测 → CI/CD GitOps → 服务网格 → 云原生存储 / 网络 → 云原生安全 → 架构设计

 

一、前置基础(和容器化重叠,必须掌握)

  1. Linux 进程、权限、uid/gid、namespace、cgroup、systemd、日志、tcpdump、ss、shell 脚本
  2. 计算机网络 TCP/IP、DNS、HTTP/HTTPS、NAT、网桥、负载均衡、四层 / 七层代理
  3. 基础开发知识(看懂即可,不用精通) REST API、JSON/YAML;能看懂简单代码,理解无状态 / 有状态应用区别
  4. 云基础概念 IaaS/PaaS/SaaS;虚拟机、弹性伸缩、云服务器、对象存储、负载均衡

二、阶段 1:容器基础(云原生基石,就是你刚才学的容器化部署)

  1. Docker:镜像、容器、Dockerfile、volume、网络模式
  2. Docker Compose:单机多容器编排,本地开发调试
  3. 私有镜像仓库:Harbor,镜像管理、漏洞扫描

目标:能独立把一个传统应用打包成镜像,理解不可变基础设施思想

三、阶段 2:Kubernetes(云原生核心,重中之重)

1. K8s 架构原理

控制面组件、节点组件、容器运行时 containerd;etcd 存储原理

2. 核心资源对象 & yaml 编写

Pod、Deployment、StatefulSet、DaemonSet、Job/CronJob Service、Ingress、ConfigMap、Secret、Namespace、Label PV/PVC、StorageClass(云原生存储)

3. 核心能力

  • 探针:存活、就绪、启动探针
  • 资源管理:requests/limits,QoS,驱逐机制
  • 发布策略:滚动更新、蓝绿、金丝雀发布
  • 网络:CNI,Calico/Flannel,Service iptables/ipvs 原理

4. kubectl 日常操作 + 排错思路

5. 集群搭建与环境

  • 学习环境:minikube、kind、k3s(轻量 k8s,推荐学习用)
  • 生产:云厂商托管 K8s(EKS/ACK/GKE),不建议裸机 kubeadm 上生产

✅ 本阶段目标:能在 K8s 上部署一套完整业务(前端 + 后端 + 数据库),理解应用如何弹性自愈

四、阶段 3:云原生三大支柱 —— 可观测性(云原生必备)

传统监控看服务器,云原生监控看容器、Pod、服务,三大件:指标、日志、链路追踪

  1. 指标监控 Metrics Prometheus + Grafana;PromQL 查询语言;exporter(node-exporter、kube-state-metrics);Alertmanager 告警
  2. 日志 Logs 容器标准输出日志;Fluentd / Fluent Bit;ELK/EFK;日志采集、过滤、存储
  3. 分布式追踪 Tracing OpenTelemetry(现在主流)、Jaeger、Zipkin;微服务调用链分析

重点:云原生可观测三大支柱,面试高频

五、阶段 4:CI/CD & GitOps(云原生交付体系)

  1. CI:代码提交自动构建、单元测试、镜像构建、镜像扫描 工具:GitLab CI、Jenkins、Tekton
  2. CD:把镜像部署到 K8s
  3. GitOps(云原生推荐部署模式) ArgoCD / FluxCD;用 Git 仓库保存 yaml 作为唯一可信源,自动同步集群状态

流程:代码变更 → CI 构建镜像 → 更新 Git 中的 yaml → ArgoCD 自动同步到 K8s 集群

六、阶段 5:云原生网络 & 服务网格(进阶)

  1. 基础 K8s 网络学完后,再学 Service Mesh 服务网格 Istio(主流):流量管理、灰度发布、限流熔断、mTLS 服务间加密、遥测
  2. 替代轻量方案:Linkerd

适用场景:微服务多、需要统一流量治理;单体应用不需要上 Istio

七、阶段 6:云原生存储

  1. 存储分类:块存储、文件存储、对象存储
  2. K8s 存储体系:PV/PVC、StorageClass、CSI(容器存储接口)
  3. 开源存储:Longhorn、Rook-Ceph;云厂商 CSI 插件

重点理解:有状态应用(MySQL、Redis)如何在 K8s 持久化数据

八、阶段 7:云原生安全(CNCF 云原生安全)

  1. 镜像安全:Trivy 漏洞扫描,最小基础镜像,禁止 root 用户运行容器
  2. K8s 集群安全:RBAC 权限控制、NetworkPolicy 网络隔离、PodSecurityContext
  3. 运行时安全:Falco
  4. 密钥管理:External Secrets,不要直接用 Secret 存敏感信息
  5. 策略管理:OPA Gatekeeper,集群准入控制

九、阶段 8:云原生微服务 & 应用架构(思想层面)

云原生不只是工具,更是应用架构改造

  1. 十二要素应用(12-Factor App)【非常核心,必读】 代码基准、依赖声明、配置在环境变量、后端服务作为附属资源、构建发布运行分离、无状态进程、端口提供服务、并发、可丢弃进程、开发 / 生产环境一致、日志作为事件流、管理进程
  2. 微服务基础:服务发现、容错重试、超时、熔断、限流
  3. Serverless(云原生分支) Knative:K8s 上的 Serverless,按需扩缩容,0 缩;云函数
  4. 云原生消息中间件:在 K8s 部署 MQ、Kafka 等

十、阶段 9:进阶:云原生运维、混沌工程、FinOps

  1. 混沌工程:Chaos Mesh,主动注入故障,验证系统容错能力
  2. FinOps:云成本优化,资源配额、资源裁剪,减少云资源浪费
  3. 自定义 K8s 开发:CRD+Operator(高阶),自定义控制器管理应用,比如 etcd-operator

📚 推荐学习顺序(由浅入深,不要跳)

  1. Linux 基础 → Docker + Compose
  2. K8s 基础概念、yaml、kubectl,用 kind/minikube 动手部署应用
  3. Prometheus+Grafana、EFK、OpenTelemetry(可观测)
  4. CI 流水线 + ArgoCD GitOps
  5. 存储 CSI、NetworkPolicy
  6. Istio 服务网格、云原生安全
  7. 十二要素、微服务架构
  8. Operator、混沌工程、FinOps(高阶)

🎯 学习目标分层

  • 初级(运维 / 容器部署岗):会 Docker,会写 K8s yaml,会部署应用,基础排错,会 Prometheus 看监控
  • 中级(云原生运维工程师):GitOps、可观测全套、存储 CSI、RBAC、发布策略,能独立维护生产 K8s 集群
  • 高级(云原生架构师):服务网格、Operator、混沌工程、十二要素,能做应用云原生改造方案、架构选型

📌 补充:CNCF

CNCF(云原生计算基金会),K8s 归属组织,所有云原生项目都在这里,学习时可以看 CNCF 项目全景图。

和你上一问【容器化部署】的关系

容器化部署 = 云原生入门第一块。 容器只解决:应用打包隔离; 云原生解决:打包之后,如何自动化部署、弹性、自愈、监控、安全、持续交付整套体系。

posted @ 2026-09-09 09:13  无聊的蚂蚁  阅读(37)  评论(0)    收藏  举报