K8s Lab 把当前仓库文档整理成一个可阅读的网页站点

Repository Reading Site

K8s-Lab 学习总纲、仓库评估与专家路线图

这份文档回答四个问题: 1. 当前目录里的内容,作为 Kubernetes 学习材料,到底够不够。 2. 这些内容分别在教你什么,为什么这样安排。 3. 如果你的目标不是“会敲命令”,而是“能做架构、能做排障、能带团队搭平台”,还缺哪些关键能力。 4. 你应该怎么学,才能真正把这套内容吃透,而不是学完就忘。 --- 如果你的问题是: “这套内容能不能把我从

Markdown00-学习总纲-仓库评估与专家路线图.md2026年4月9日 17:05

K8s-Lab 学习总纲、仓库评估与专家路线图

文档目的

这份文档回答四个问题:

  1. 当前目录里的内容,作为 Kubernetes 学习材料,到底够不够。
  2. 这些内容分别在教你什么,为什么这样安排。
  3. 如果你的目标不是“会敲命令”,而是“能做架构、能做排障、能带团队搭平台”,还缺哪些关键能力。
  4. 你应该怎么学,才能真正把这套内容吃透,而不是学完就忘。

先给结论

结论一:这套内容“很够入门到进阶”,但“不够直接把你送到 CTO”

如果你的问题是:

“这套内容能不能把我从 K8s 小白带到一个很扎实的云原生工程师起点?”

答案是:能,而且质量不低。

如果你的问题是:

“只靠这一个目录,能不能直接把我带到可以独立负责公司级平台架构、生产事故排查、技术决策和团队治理的 CTO 水平?”

答案是:不能。

这不是因为仓库差,而是因为“专家能力”本来就不只是教程堆出来的。专家能力至少由下面几部分组成:

  • 对 K8s 核心机制的理解
  • 对 Linux、网络、容器运行时、存储系统的底层理解
  • 对真实生产故障的处理经验
  • 对高可用、容灾、安全、成本、组织协作的系统化认知
  • 对业务平台设计的取舍能力

这个仓库已经覆盖了其中很大一部分,但还没有覆盖全部。

结论二:完整学透这套仓库,你可以达到什么水平

如果你认真学完,并且不是只看文档,而是做到“能复述、能复现、能排障、能解释原理”,你至少可以达到:

  • 能独立搭一套单控制面实验集群
  • 能理解 Pod / Deployment / Service / Ingress / PVC / RBAC / NetworkPolicy 等核心对象
  • 能做常见发布、配置、权限、存储、监控、GitOps 的基础建设
  • 能处理一批典型 K8s 故障
  • 能开始理解 CRD / Operator 这种更高级的扩展模式
  • 能对“一个平台为什么这么设计”形成初步判断

这已经不是“只会敲命令”的水平了,而是有潜力成长为平台工程师、SRE、云原生架构师的起点。

结论三:如果目标是专家,这个仓库应该作为“主训练营”,不是“最终毕业证”

更准确的定位是:

  • Phase 0-4:K8s 核心知识 + 生产常见能力 + 故障排查方法论
  • ml-platform:把 K8s 用到真实业务场景里,接触 Operator 思维
  • saas-platform:把“集群能力”上升为“平台能力”和“业务架构能力”

也就是说,这个仓库不是一个碎片化笔记仓库,而是一个相对完整的训练营骨架


我对这个仓库的总体评分

下面的评分不是“绝对标准”,而是从“培养专家能力”的角度做的评估。

维度 评分(5 分) 评价
K8s 架构入门 4.5 架构图、组件职责、声明式思想、控制循环都有覆盖
集群搭建与前置条件 4.5 包含 OS、containerd、WireGuard、kubeadm、CNI,且有原因解释
工作负载与服务发现 4.0 Deployment、Service、StatefulSet、Job 等核心对象覆盖完整
配置与权限 4.0 ConfigMap、Secret、RBAC 都有,适合从零建立正确习惯
调度、网络、存储 4.0 已覆盖常见生产主题,但深度还可以继续增强
可观测性 3.5 指标、日志、HPA 有了,但 Tracing、SLO、告警治理还不够深
Helm / Harbor / GitOps 4.0 很适合建立现代平台交付思维
CRD / Operator 4.5 不只是概念,还带了真实代码和业务案例
故障排查训练 4.0 场景化排查已经很有价值,但还没覆盖更底层的复杂事故
高可用与容灾 2.5 提到了 etcd 备份和升级,但 HA、恢复演练、灾难切换不够系统
安全体系 3.0 PSS、RBAC 有了,但证书、Secret 治理、策略引擎、供应链安全仍不足
企业平台治理 3.0 saas-platform 提供了架构设计视角,但更多是方案,缺少落地代码与运维闭环

一句话概括:

这套内容对“小白到中高级候选人”非常有价值,但对“成熟专家”还缺高可用、深度排障、底层机制、组织治理四大块。


当前目录到底都有什么,它们分别在教你什么

1. README.md

这是全仓库的“地图”。

它的作用不是讲细节,而是让你先知道:

  • 整体目标是什么
  • 实验环境长什么样
  • 学习路线怎么分阶段
  • 每一阶段大概解决什么问题

原理上,这一步非常重要。

一个小白最容易犯的错误,不是“不会命令”,而是“没有全局地图”。没有地图的人,会把 Kubernetes 学成几十个零散命令和 YAML 字段,最后脑子里没有系统。

2. phase-0/

这是整个仓库里最关键的一阶段,因为它回答的是:

“为什么 K8s 能跑起来?”

这一阶段覆盖了:

  • K8s 组件架构
  • Linux 系统前置条件
  • Swap、内核模块、sysctl、containerd
  • WireGuard 组网
  • kubeadm 初始化
  • 节点标签、taint、kubeconfig

这里最有价值的地方不是“怎么装”,而是“为什么一定要这样装”。

例如:

  • 为什么要关 swap
  • 为什么 containerd 要配 SystemdCgroup=true
  • 为什么 kubelet 的 --node-ip 会影响后续 kubectl logs/exec
  • 为什么 controlPlaneEndpoint 配错会导致 join 异常
  • 为什么没有 CNI 时节点会 NotReady

这部分决定你以后排障时是不是只会重装。

3. phase-1/

这是 K8s 最核心的资源对象阶段。

你会学到:

  • Deployment / ReplicaSet / Pod
  • Service / NodePort
  • ConfigMap / Secret
  • StatefulSet / DaemonSet / Job / CronJob
  • RBAC / ServiceAccount / 最小权限

这一阶段解决的是:

  • 应用怎么被调度和维持副本数
  • 服务怎么互相访问
  • 配置和敏感信息怎么注入
  • 什么应用适合有状态,什么适合无状态
  • 权限为什么不能乱给

如果这一阶段只学“字段名”,你会觉得 K8s 很碎。 如果这一阶段学“每个对象解决了什么问题”,你会开始建立平台工程直觉。

4. phase-2/

这是从“会用 K8s”进入“会做平台”的阶段。

覆盖了:

  • 高级调度
  • 存储与 NFS 动态供给
  • Ingress 与 NetworkPolicy
  • Prometheus / Grafana / Loki / HPA / etcd 备份

这是很多人第一次感受到 K8s 真正复杂度的地方,因为这里涉及的不再只是资源对象,而是:

  • 资源如何落到合适的节点
  • 网络流量如何进入、如何隔离
  • 数据如何持久化
  • 如何知道系统现在是不是健康

平台能力的本质不是“部署应用”,而是:

在规模、隔离、持久化、观测、恢复之间做系统性的设计。

5. phase-3/

这是偏生产工程化的阶段。

覆盖了:

  • Helm 包管理
  • Harbor 镜像仓库
  • ArgoCD GitOps
  • Pod Security Standards
  • CRD / Operator
  • etcd 备份恢复

这一阶段很重要,因为它把“资源对象”升级成了“交付体系”和“平台治理”:

  • Helm 解决复用和参数化
  • Harbor 解决镜像生命周期和供应链入口
  • GitOps 解决变更审计、回滚和集群漂移
  • PSS 解决基础安全准入
  • CRD/Operator 解决把业务能力封装成平台原语

这一步开始,你不再只是“会部署服务”,而是开始思考“平台怎么让别人更容易部署服务”。

6. phase-4/

这是“从会搭到会救火”的阶段。

这里的价值非常大,因为真正区分初学者和工程师的,不是能不能创建 Deployment,而是:

  • 出问题时能不能快速缩小范围
  • 能不能根据现象推导出故障层次
  • 能不能从 Pod、Node、网络、存储、权限多个维度定位

排障能力的核心不是记住答案,而是建立分层思维:

  • 是应用层问题?
  • 是 Pod 生命周期问题?
  • 是调度问题?
  • 是 Service/Endpoints 问题?
  • 是节点问题?
  • 是 kubelet / containerd / CNI / DNS / etcd 问题?

phase-4 已经开始训练这条思路。

7. ml-platform/

这是本仓库非常加分的部分。

它不是再讲一遍 K8s 名词,而是把 K8s 用到了一个“真实业务管控场景”里:

  • 训练作业
  • 推理服务
  • 自定义资源 MLModel
  • Controller 监听资源变化并创建 Deployment / Service

这一部分的学习意义在于:

  • 你会知道 CRD 不是为了考试,而是为了把业务对象变成平台对象
  • 你会理解 Reconcile Loop 不是抽象概念,而是平台自动化的核心
  • 你会开始接触“业务平台化”的视角

这一步对想走架构方向的人很重要。

8. saas-platform/

这部分更偏“平台架构设计说明书”。

它的主要价值不是教你 kubectl,而是教你:

  • 技术选型为什么这样做
  • 多租户、计费、模型、训练、数据、运营模块怎么拆
  • 模块之间如何协作
  • SaaS 平台要考虑哪些业务流转和治理问题

如果你只想当使用者,这部分可能觉得“太虚”。 但如果你目标是架构负责人,这部分反而是必须补的,因为专家不只是解决技术问题,还要设计系统边界和演进路径。

9. SERVICE-ACCESS.md

这是一份实验环境接入说明。

它的价值是:

  • 统一记录集群、节点、服务、端口、凭据
  • 方便你把实验环境作为长期练习环境使用

但同时它也暴露了一个非常重要的专家级意识:

明文凭据不应该长期直接放在普通文档中。

如果这个目录会被分享、备份、同步或者公开,这会成为安全风险。

作为“想成为 CTO 的学习者”,你必须从现在就建立这种敏感度。


这套内容为什么值得学

1. 它不是只教命令,而是在讲设计动机

从抽样内容看,这个仓库大量使用了下面这种结构:

  • 先说问题是什么
  • 再说为什么会有这个组件/命令/参数
  • 最后才给操作和验证

这很关键。

Kubernetes 最难的从来不是命令本身,而是“为什么这里会失败、为什么这个配置必须这样写、为什么这类资源要存在”。

2. 它不是只有资源对象,还在训练“系统观”

很多入门资料只讲:

  • Pod
  • Deployment
  • Service

但这个仓库已经扩展到:

  • 组网
  • 存储
  • 可观测
  • GitOps
  • Operator
  • 故障场景
  • 业务平台架构

这说明它不是单纯的语法教程,而是在往系统工程方向靠。

3. 它包含真实代码和真实业务映射

只会写 YAML,不足以成为专家。

ml-platform 的价值在于,它把 K8s 资源和代码、业务、控制器联系起来了。你会看到:

  • 自定义资源类型如何定义
  • Controller 怎样读取期望状态
  • 怎样创建 Deployment / Service
  • 为什么 OwnerReference、状态回写、Probe 会重要

这比只读概念强很多。

4. 它有排障训练,不是只追求“成功截图”

优秀的 K8s 学习材料,必须包含失败案例。

因为生产环境里你遇到的不是“kubectl apply 成功”,而是:

  • Pending
  • CrashLoopBackOff
  • ImagePullBackOff
  • Node NotReady
  • PVC 绑定失败
  • Service 不通
  • 监控缺数据

一个只展示 happy path 的教程,对工作帮助有限。


但如果目标是“专家/架构负责人”,这套内容还缺什么

下面这些缺口,不是说仓库完全没提,而是说还不够构成专家级闭环

1. 控制面高可用和生产级生命周期管理不够深

当前材料更多是单控制面实验集群视角。

如果你要负责公司平台,必须补齐:

  • 3 Master / 5 etcd 的高可用拓扑
  • 外部负载均衡器
  • API Server 高可用接入
  • 控制面证书轮转
  • 组件版本升级策略
  • 回滚策略
  • 故障域设计

为什么重要:

单 Master 学的是“能跑起来”,HA 学的是“不能轻易挂掉”。

2. 对 Linux / 容器运行时 / 内核机制的深度还不够

真正的复杂问题,常常会落到 K8s 下面那一层:

  • cgroups
  • namespaces
  • overlayfs
  • veth pair
  • bridge
  • iptables / nftables / IPVS
  • conntrack
  • containerd / shim / runc

如果你不懂这些,很多故障会停留在“kubectl 看不出来,但就是不通/不稳”的水平。

3. 网络深度还可以再提升一大截

当前仓库已经覆盖:

  • Ingress
  • NetworkPolicy
  • Calico
  • WireGuard

但真正专家还需要理解:

  • Pod 到 Pod 的完整报文路径
  • 跨节点封装方式
  • kube-proxy 的 iptables / IPVS 差异
  • CoreDNS 的解析链路
  • DNS 故障定位
  • eBPF / Cilium 的基本思想
  • Gateway API
  • Service Mesh 何时值得引入

4. 存储深度偏入门到中级,离生产复杂场景还有距离

NFS 动态供给适合教学,但生产里你还需要理解:

  • CSI 架构
  • 块存储 vs 文件存储 vs 对象存储
  • Ceph / Rook
  • local PV
  • 数据库为什么不应该轻易放在 NFS 上
  • IO 延迟对应用的影响
  • 快照、备份、恢复一致性

5. 安全只覆盖了“基础准入”,还没有形成完整体系

还需要补:

  • Secret 加密与轮换
  • cert-manager
  • External Secrets
  • 镜像签名与供应链安全
  • Admission Webhook
  • OPA Gatekeeper / Kyverno
  • 审计日志
  • 多租户安全边界
  • 节点加固和基线检查

6. 可观测性还需要升级到 SRE 视角

现有内容已经很好地覆盖了 metrics 和 logs。

但如果你想做平台负责人,还需要补:

  • Tracing
  • SLI / SLO / Error Budget
  • 告警降噪
  • 可观测数据保留策略
  • 根因分析流程
  • 事故复盘机制

7. 真实生产排障还需要更多复杂故障

当前排障实验很适合入门和面试,但还可以继续扩展:

  • CNI 故障
  • DNS 故障
  • kubelet 证书失效
  • etcd 空间不足
  • inode 打满
  • conntrack 打满
  • CPU steal 高
  • 时钟漂移导致证书/调度问题
  • 节点磁盘压力驱逐
  • API Server 延迟飙高

8. 组织治理和平台治理还需要实战化

一个 CTO 或平台负责人,不只是会搭技术组件,还要能回答:

  • 多团队 namespace 怎么划分
  • RBAC 按人、按团队、按环境如何设计
  • 发布流程如何管控
  • 谁能改生产
  • Secret 和证书谁负责
  • 故障值班制度怎么落地
  • 成本如何核算
  • 技术债如何治理

saas-platform 已经有架构思路,但还缺“运维制度 + 平台治理规则 + 运行指标”的落地实践。


对你来说,这套内容“够不够”的准确答案

如果你的目标是“入门 + 进阶 + 找到方向”

够。

而且比市面上很多只讲零散命令的视频课程更好,因为它已经把架构、实战、排障和平台化思维串起来了。

如果你的目标是“独立负责一个中小团队的 K8s 平台原型”

大体够,但你需要把这套内容真正跑通,并补上少量增强项:

  • HA 控制面
  • Secret 治理
  • 告警体系
  • 备份恢复演练
  • 更严格的生产安全策略

如果你的目标是“成为专家 / 技术负责人 / CTO”

不够单独完成目标,但它绝对值得作为主线起点

更直接地说:

学透这个仓库,你能拥有一个非常像样的基础盘。 但专家不是靠“学完一个仓库”产生的,而是靠“学透基础盘 + 深挖底层 + 反复实战 + 经历故障 + 做系统取舍”成长出来的。


你应该怎么学,才不会变成“照着敲完就结束”

学习原则一:每个对象先问“它解决什么问题”

例如学 Deployment,不要先背字段。

应该先问:

  • 为什么需要副本控制
  • 为什么需要滚动更新
  • 为什么 Pod 不直接自己管理自己
  • 为什么要有 Controller

如果问题没想明白,字段记住也会很快忘。

学习原则二:每个命令都要知道“它在和谁说话”

这是从“小白”变成“能排障的人”的关键。

例如:

  • kubectl get pod:本质是在请求 API Server 获取对象状态
  • kubectl describe pod:本质是在查看资源对象 + Events
  • kubectl logs:请求经 API Server 转发,最终拿到节点上的容器日志
  • kubectl exec:请求经 API Server 和 kubelet,进入容器进程命名空间
  • kubectl apply:是在提交“期望状态”

你要把每个命令背后的链路想清楚,而不是只记语法。

学习原则三:必须做“验证”和“破坏”

只做成功路径,学不出真本事。

每学完一个主题,至少做两件事:

  1. 验证它真的生效了
  2. 故意制造一个故障,再排回来

例如学 Service:

  • 成功验证:Pod 能通过 Service 被访问
  • 故障验证:故意改错 selector,观察 Endpoints 为空,再排查

学习原则四:每一章都要输出自己的“讲解稿”

你说想成为专家、想成为 CTO,那么从现在开始就要练“讲清楚”。

每学完一篇文档,都要自己写出三段话:

  1. 这个机制是什么
  2. 它解决了什么问题
  3. 它失败时我怎么排

如果你说不清楚,说明其实还没学透。

学习原则五:只背命令一定会失败,必须建立分层模型

建议你在脑子里长期保持下面这几层:

  1. Linux 与网络基础层
  2. 容器运行时层
  3. Kubernetes 控制面层
  4. Kubernetes 数据面层
  5. 应用与业务层
  6. 平台治理与组织流程层

以后遇到任何问题,都先判断问题落在哪一层,再往上或往下追。


建议的学习顺序

第一阶段:先建立“地图”和“控制面直觉”

按这个顺序:

  1. README.md
  2. phase-0/01-k8s-architecture.md
  3. phase-0/02-os-preparation.md
  4. phase-0/04-cluster-init.md
  5. phase-0/03-wireguard-network.md
  6. phase-0/05-node-labels-kubeconfig.md

这一阶段你必须掌握的,不是所有命令,而是这些问题:

  • API Server、etcd、Scheduler、Controller Manager、kubelet 分别做什么
  • kubectl apply 之后资源如何一步步跑起来
  • 为什么 kubeadm 能把控制面拉起来
  • 为什么没有 CNI 就不 Ready
  • kubelet 的 node-ip 为什么关键

第二阶段:把核心对象学透

按这个顺序:

  1. phase-1/01-workloads-and-services.md
  2. phase-1/02-configmap-secret.md
  3. phase-1/03-statefulset-daemonset-job.md
  4. phase-1/04-rbac.md

这一阶段你要形成下面的判断能力:

  • 什么应用该用 Deployment,什么该用 StatefulSet
  • Service 解决的是“稳定入口”,不是“进程发现”
  • Secret 默认并不等于安全
  • RBAC 设计的核心是最小权限,不是“先给 admin 跑通”

第三阶段:进入平台能力

按这个顺序:

  1. phase-2/01-scheduling-advanced.md
  2. phase-2/02-storage-nfs.md
  3. phase-2/03-ingress-networkpolicy.md
  4. phase-2/04-monitoring-observability.md

这一阶段你要有三个升级:

  • 从“应用能跑”升级到“资源怎么分配”
  • 从“Pod 互通”升级到“流量怎么治理”
  • 从“出问题再看”升级到“平时就能观测”

第四阶段:进入生产工程化

按这个顺序:

  1. phase-3/01-helm-harbor.md
  2. phase-3/02-argocd-gitops.md
  3. phase-3/03-security-crd-advanced.md

这一阶段最重要的不是学工具,而是理解:

  • 为什么 GitOps 比手工 kubectl apply 更适合团队协作
  • 为什么平台应该提供可复用模板和自动化能力
  • 为什么 Operator 是“把经验写进控制器”

第五阶段:练排障和表达

按这个顺序:

  1. phase-4/01-troubleshooting-lab.md
  2. phase-4/02-interview-guide.md

这一阶段的目标不是准备面试,而是把前面的知识串成“能说、能排、能判断”的能力。

第六阶段:进入“平台化思维”

按这个顺序:

  1. ml-platform/docs/ml-pipeline.md
  2. 阅读 ml-platform/operator/ 代码
  3. 阅读 saas-platform/docs/technical-architecture.md
  4. 再按模块阅读 saas-platform/docs/

这一阶段你会完成认知升级:

  • 从“资源对象”升级到“平台抽象”
  • 从“部署服务”升级到“设计平台”
  • 从“命令执行者”升级到“系统设计者”

每个阶段你必须达到的学习产出

阶段 你必须交出的成果
Phase 0 画出 K8s 核心架构图;口头讲清 kubectl apply 的完整链路;能解释 kubeadm、CNI、kubelet、containerd 的关系
Phase 1 自己写一套 Deployment + Service + ConfigMap + Secret + RBAC 的示例,并能解释每个字段为什么存在
Phase 2 能独立设计一个带调度约束、存储、Ingress、监控的业务部署方案,并讲清流量和数据路径
Phase 3 能解释 Helm、Harbor、ArgoCD、PSS、CRD、Operator 在平台里的角色分工
Phase 4 面对 CrashLoopBackOff、Pending、Service 不通、Node NotReady、OOMKilled 等问题,能给出标准排查顺序
ml-platform 能从代码里讲清 Reconcile Loop、OwnerReference、Deployment/Service 自动创建、状态回写
saas-platform 能讲清一个 AI SaaS 平台为什么这样拆模块、如何做多租户、计费、训练、推理和运营治理

如果这些成果你做不到,就不要急着往下走。


你必须掌握的关键命令,以及背后原理

下面不是完整命令大全,而是你必须真正理解的几类命令。

1. 查询类命令

典型命令:

  • kubectl get
  • kubectl describe
  • kubectl get events
  • kubectl top

原理:

  • 这些命令大多在查询 API Server 里的集群状态
  • get 偏结构化、便于列表查看
  • describe 偏详细、会把 Events、Conditions、挂载、探针等信息串起来
  • events 是资源行为时间线
  • top 不是查 Prometheus,而是查 metrics-server

你必须知道:

  • 为什么 get 适合先看全局
  • 为什么 describe 是排障第一站
  • 为什么 top 看不到历史趋势

2. 日志与进入容器

典型命令:

  • kubectl logs
  • kubectl logs --previous
  • kubectl exec -it

原理:

  • logs 看的是真正容器标准输出日志
  • --previous 对排查反复重启的容器非常关键
  • exec 不是“登录服务器”,而是进入容器命名空间执行命令

你必须知道:

  • CrashLoop 时为什么当前日志可能来不及看
  • 为什么容器里有的命令不存在
  • 为什么很多镜像里没有 bash

3. 生命周期与发布类命令

典型命令:

  • kubectl apply
  • kubectl rollout status
  • kubectl rollout undo
  • kubectl set image

原理:

  • apply 是提交期望状态,不是立即保证成功
  • rollout status 看的是控制器滚动过程是否完成
  • undo 依赖 Deployment 的历史版本记录
  • set image 是在修改 Deployment 模板

你必须知道:

  • 为什么 apply 成功不等于 Pod 一定能启动
  • 为什么 Readiness Probe 会影响滚动更新节奏

4. 权限与安全类命令

典型命令:

  • kubectl auth can-i
  • kubectl create serviceaccount
  • kubectl create role

原理:

  • 所有 API 操作都要经过认证和授权
  • RBAC 的本质不是用户体验,而是边界控制
  • “能用”不等于“该给”

你必须知道:

  • 为什么不要随便给 cluster-admin
  • 为什么 ServiceAccount 是工作负载身份的核心

5. 节点与系统级命令

典型命令:

  • systemctl status kubelet
  • journalctl -u kubelet
  • systemctl status containerd
  • ip addr
  • ss -lntup
  • sysctl -a

原理:

  • K8s 不是漂浮在空中的,它最终跑在 Linux 上
  • kubelet、containerd、WireGuard 都是宿主机服务
  • 网络、端口、内核参数问题,最终都要靠系统命令定位

你必须知道:

  • 为什么 kubectl 看不出所有问题
  • 为什么节点故障最终要回到宿主机日志

6. etcd 与控制面相关命令

典型命令:

  • etcdctl snapshot save
  • kubeadm init
  • kubeadm join
  • kubeadm upgrade plan

原理:

  • kubeadm 管的是控制面初始化和生命周期
  • etcdctl 直连 etcd,是控制面状态的底层操作工具
  • 备份 etcd 不是“可选项”,而是集群生命线

你必须知道:

  • etcd 丢了意味着什么
  • 为什么恢复 etcd 不是简单把文件拷回去

作为专家候选人,你现在就应该建立的安全意识

1. 文档中出现了明文凭据

SERVICE-ACCESS.md 中包含:

  • 登录地址
  • 用户名
  • 密码

这在实验环境里方便,但从工程治理角度看存在风险。

更好的实践是:

  • 把敏感信息放密码管理器
  • 如果必须落文档,至少做访问控制
  • Git 仓库中用密文方案而不是明文
  • 对外分享前先脱敏

2. 顶层 manifests/scripts/ 目录目前是空的

这说明当前仓库更像“学习主线文档 + 局部实战案例”,而不是一个完全整理好的统一工程入口。

这不影响学习,但说明后续如果你要把它进化成长期平台仓库,最好补齐:

  • 统一 manifests 目录规范
  • 统一脚本入口
  • 统一环境变量和参数说明

3. 当前目录不是 Git 仓库

这意味着:

  • 当前目录可能只是一个普通文件夹副本
  • 变更历史不可追踪
  • 后续如果你要长期维护,建议初始化 Git

对专家来说,技术文档和平台资产本身也应该纳入版本管理。


我建议你后续补齐的“专家路线图”

这里不是泛泛而谈,而是基于当前仓库的自然延伸给出的补强路线。

路线一:把单控制面实验升级成 HA 控制面

建议补:

  • 3 Master
  • 外部 LB 或 Keepalived + HAProxy
  • stacked etcd 与 external etcd 的差异
  • 控制面故障演练

为什么:

这会让你从“能搭起来”走向“懂高可用”。

路线二:补容器与 Linux 底层

建议专题学习:

  • namespace
  • cgroup v2
  • containerd / runc
  • overlayfs
  • veth / bridge
  • iptables / nftables / conntrack

为什么:

K8s 的很多问题,本质上是 Linux 问题在 K8s 里的表现。

路线三:补网络深潜

建议专题学习:

  • kube-proxy
  • CoreDNS
  • Calico 数据路径
  • Cilium / eBPF 入门
  • Gateway API

为什么:

很多“服务不通”“偶发超时”“跨节点异常”最后都要回到网络路径分析。

路线四:补存储深潜

建议专题学习:

  • CSI
  • Ceph / Rook
  • Local PV
  • Snapshot / Restore
  • 数据一致性与备份策略

为什么:

真正难伺候的生产系统,往往不是无状态服务,而是数据库、消息队列、搜索、对象存储。

路线五:补安全治理

建议专题学习:

  • cert-manager
  • External Secrets
  • OPA Gatekeeper 或 Kyverno
  • 镜像漏洞扫描与签名
  • 审计日志

为什么:

生产平台最大的风险不只是宕机,还有越权、泄密和供应链攻击。

路线六:补 SRE 体系

建议专题学习:

  • SLI / SLO
  • 告警设计
  • 容量规划
  • 故障复盘
  • 值班体系

为什么:

平台负责人不只是“把系统搭起来”,还要“让系统长期稳定运行”。

路线七:补业务架构治理

建议结合 saas-platform 继续做:

  • 环境分层设计
  • 多租户隔离策略
  • 成本归因
  • 发布治理
  • 团队职责边界

为什么:

到了 CTO 视角,技术平台一定和业务模型、组织边界、成本结构绑定。


给你的最终建议

建议一:不要急着“学更多”,先把这套内容学透

很多人最大的误区是:

  • 学了很多主题
  • 看了很多视频
  • 收藏了很多仓库
  • 但没有一套真正学透

你当前目录里的材料已经够你深挖很久。

先把它学透,再扩展,会比四处撒网有效得多。

建议二:每学一章都要写自己的笔记和复盘

至少写三类内容:

  • 这个机制是什么
  • 它解决什么问题
  • 它挂了我怎么排

这会极大提升你的理解密度。

建议三:以后你看到任何命令,都要追问“底层发生了什么”

这才是从使用者走向专家的开始。

建议四:把“复现成功”升级为“设计 + 排障 + 讲解”

如果你想走到 CTO,不要把目标定成“我能跑起来”。

你的目标应该是:

  • 我能自己设计这套东西
  • 我能解释为什么这样设计
  • 我能在它坏的时候修好
  • 我能教会别人

一句话总结

当前目录里的内容,足够成为一套非常好的 Kubernetes 主学习营,能把你从小白带到扎实的进阶水平,并初步触达平台化、Operator 和架构思维。

但如果你的目标是专家或 CTO,它还不是终点,而是非常值得深耕的起点。真正的下一步,是把这套内容学透、跑透、讲透、拆透、排透,再沿着高可用、底层机制、安全治理和 SRE 体系继续升级。