HiHuo
首页
博客
手册
工具
关于
首页
博客
手册
工具
关于
  • 概览

    • K8s 实战学习实验室
    • 服务访问清单
    • K8s-Lab 学习总纲、仓库评估与专家路线图
  • 课程正文

    • 环境验证与第一课:认识你的真实集群
    • 第二课:kubectl apply 之后,到底发生了什么
    • 第三课:调度器如何选节点,为什么 Pod 会 Pending
    • 第四课:Kubernetes 网络、协议分层、VXLAN/IPIP/WireGuard 原理与排障
    • 第五课:NetworkPolicy、零信任网络与流量边界
    • 第六课:身份、认证、授权、准入与 ServiceAccount / RBAC 原理
    • 第七课:ConfigMap 与 Secret 注入模型、更新机制与安全边界
    • 第八课:存储持久化、PV / PVC / StorageClass 与 NFS 原理
    • 第九课:StatefulSet、Headless Service、稳定身份与存储原理
    • 第十课:探针、滚动更新、优雅终止与 PDB 原理
    • 第十一课:requests / limits、QoS、OOM 与驱逐原理
    • 第十二课:HPA、自动扩缩容、指标链路与副本伸缩原理
    • 第十三课:Service、EndpointSlice、kube-proxy、CoreDNS 与服务发现原理
    • 第十四课:Ingress-nginx、反向代理、Host / Path、NodePort 与北南向流量原理
    • 第十五课:HTTPS、TLS、SNI、证书信任与 Ingress 终止原理
    • 第十六课:cert-manager、Ingress 自动签发、证书生命周期与 ACME 工作流原理
    • 第十七课:ACME、Let's Encrypt、HTTP-01 / DNS-01、Orders / Challenges 与生产限制原理
    • 第十八课:大模型全生态,从数据到训练到部署到治理原理
    • 第十九课:大模型数据集、清洗、标注、切分、版本管理与质量治理原理
    • 第二十课:大模型训练、SFT、LoRA、Checkpoint、Adapter 与模型产物原理
    • 第二十一课:大模型推理、量化、KV Cache、vLLM、吞吐/延迟与部署发布链路原理
  • 实验操作记录

    • 本次仓库审查操作记录与命令原理
    • 本轮操作记录:环境验证、集群基线盘点与故障样本采集
    • 本轮操作记录:kubectl apply 主链路实验
    • 本轮操作记录:调度实验与 Pending 排查
    • 本轮操作记录:Kubernetes 网络原理、协议对比与调试实验
    • 本轮操作记录:NetworkPolicy 与零信任网络实验
    • 本轮操作记录:身份、认证、授权、准入实验
    • 本轮操作记录:ConfigMap 与 Secret 注入、更新与安全边界实验
    • 本轮操作记录:存储持久化、PV / PVC / StorageClass 与 NFS 实验
    • 本轮操作记录:StatefulSet、Headless Service 与稳定身份实验
    • 本轮操作记录:探针、滚动更新、优雅终止与 PDB 实验
    • 本轮操作记录:资源模型、QoS、OOM 与 CPU 节流实验
    • 本轮操作记录:HPA 自动扩缩容实验
    • 本轮操作记录:Service、EndpointSlice、CoreDNS 与服务发现排障实验
    • 本轮操作记录:Ingress-nginx、NodePort 与北南向流量实验
    • 本轮操作记录:HTTPS、TLS、自签证书与 Ingress 实验
    • 本轮操作记录:cert-manager 安装、CA 签发与 Ingress 自动证书实验
    • 本轮操作记录:ACME staging、HTTP-01 失败样本与排障实验
    • 本轮操作记录:大模型全生态与基础原理科普文撰写
    • 本轮操作记录:大模型数据集样本与治理文档编写
    • 本轮操作记录:大模型训练与模型产物概念文撰写
    • 本轮操作记录:大模型推理与服务发布概念文撰写

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.0Deployment、Service、StatefulSet、Job 等核心对象覆盖完整
配置与权限4.0ConfigMap、Secret、RBAC 都有,适合从零建立正确习惯
调度、网络、存储4.0已覆盖常见生产主题,但深度还可以继续增强
可观测性3.5指标、日志、HPA 有了,但 Tracing、SLO、告警治理还不够深
Helm / Harbor / GitOps4.0很适合建立现代平台交付思维
CRD / Operator4.5不只是概念,还带了真实代码和业务案例
故障排查训练4.0场景化排查已经很有价值,但还没覆盖更底层的复杂事故
高可用与容灾2.5提到了 etcd 备份和升级,但 HA、恢复演练、灾难切换不够系统
安全体系3.0PSS、RBAC 有了,但证书、Secret 治理、策略引擎、供应链安全仍不足
企业平台治理3.0saas-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 体系继续升级。

Prev
服务访问清单