原仓库索引¶
本站不是原仓库的镜像,而是一次「从代码仓库到学习手册」的重构。这张表保证每个原始目录都能找到去处,也说明我们新增了哪些内容。
改造原则¶
原仓库 iKubernetes/learning-k8s 是课程配套的代码与清单仓库,特点是:
- 以目录组织组件,README 偏「操作步骤」;
- 大量 YAML 直接可跑,但缺少概念铺垫与排错说明;
- 部分 API 版本较旧(如
batch/v1beta1); - 目录之间没有统一的学习顺序。
本站做了四件事:
- 按学习路径重组:开始 → 核心 → 平台 → 交付 → 附录,而不是按组件平铺。
- 每章补齐结构:概念、架构图、实验、验证、排错表、进阶挑战。
- 修正过时内容:标注旧 API,给出 Kubernetes v1.31 的写法。
- 增加缺失章节:架构与对象模型、环境准备、命令速查、排错手册、术语表。
原始清单仍可从 GitHub 仓库 获取。本站正文中的命令与资源名尽量与仓库保持一致,便于对照。
目录映射¶
| 原目录 | 原内容 | 本站章节 | 处理方式 |
|---|---|---|---|
ansible-k8s-install/ |
Ansible + kubeadm 集群部署 | 集群部署、CNI 网络 | 保留 playbook 流程,补充手工对照与验收 |
tutorials/ |
Pod、ConfigMap、存储卷实验 | Pod 与容器、配置与密钥、存储与持久化 | 修正 YAML 缩进错误,扩展为完整实验 |
examples/ |
核心对象示例清单 | 核心部分全部章节 | 按对象类型拆分,补充原理与排错 |
examples/pods/ |
探针、Init、Sidecar、资源 | Pod 与容器 | 选取代表性清单,补充安全上下文 |
examples/deployments/ |
Deployment / ReplicaSet | 工作负载 | 增加滚动更新与回滚实验 |
examples/statefulsets/ |
StatefulSet / MySQL | 工作负载、WordPress | 补充 Headless 与卷模板说明 |
examples/jobs_and_cronjobs/ |
Job / CronJob | 工作负载 | 标注 batch/v1beta1 已移除 |
examples/configmaps_and_secrets/ |
ConfigMap / Secret | 配置与密钥 | 增加热更新与 subPath 边界 |
examples/volumes/ |
emptyDir/hostPath/NFS/PVC | 存储与持久化 | 增加 PV/PVC 生命周期与扩容 |
examples/services/ |
Service / DNS / EndpointSlice | 服务与网络 | 增加 Headless、NetworkPolicy |
examples/network-policy-examples/ |
NetworkPolicy 示例 | 服务与网络 | 解释默认拒绝与 CNI 依赖 |
examples/authn_and_authz/ |
CSR、RBAC | 认证与安全 | 补充 CSR API 完整流程 |
examples/wordpress/ |
WordPress 全对象示例 | WordPress 实战 | 整理 01–07 部署顺序 |
ansible-k8s-install/install-k8s-calico.yaml |
Calico 部署 | CNI 网络 | 补充 BGP RR 与模式选择 |
ansible-k8s-install/install-k8s-cilium.yaml |
Cilium 部署 | CNI 网络 | 补充 kube-proxy replacement |
ansible-k8s-install/install-k8s-flannel.yaml |
Flannel 部署 | CNI 网络 | 作为入门 CNI 对比 |
ProjectCalico/ |
BGP Route Reflector | CNI 网络 | 保留三步配置流程 |
Cilium/ |
Cilium 安装与 Hubble | CNI 网络 | 补充 eBPF 与 Hubble 实验 |
MetalLB/ |
地址池与 L2 通告 | 负载均衡与 Ingress | 补充 StrictARP 与验证 |
OpenELB/ |
OpenELB 部署 | 负载均衡与 Ingress | 作为备选方案对比 |
ingress-canary-demo/ |
Ingress 灰度五种方式 | 负载均衡与 Ingress | 整理为对照实验 |
OpenEBS/ |
OpenEBS 4.x / 3.x | 存储扩展 | 强调版本差异 |
csi-driver-nfs/ |
NFS CSI | 存储扩展 | 补充 dnsPolicy 坑与 SC |
MinIO/ |
MinIO 部署 | 存储扩展、日志与 ELK | 作为 Loki 后端与对象存储 |
Cert-Manager/ |
证书管理 | 证书管理 | 补充 Issuer/Certificate 实验 |
Prometheus/ |
Prometheus + Adapter + Blackbox | Prometheus 监控 | 补充 Helm 完整流程 |
kube-prometheus/ |
Prometheus Operator | Prometheus 监控 | 补充 CRD 与 ServiceMonitor |
metrics-server/ |
资源指标 API | 调度与弹性 | 补充 HPA 联动 |
KEDA/ |
事件驱动伸缩 | 调度与弹性 | 保留架构讲解,补充 ScaledObject |
Loki-Stack/ |
Loki / Promtail / Grafana | 日志与 ELK | 按部署顺序重组 |
eck-operator/ |
ECK / Filebeat / Kibana | 日志与 ELK | 补充索引与检索 |
Velero/ |
备份恢复与 CSI 快照 | 备份与恢复 | 补充安装、调度、演练 |
Karmada/ |
多集群分发 | 多集群编排 | 补充架构与策略对比 |
helm-examples/ |
Helm values 示例 | Helm 包管理 | 补充 Chart 结构与回滚 |
jenkins/ |
Jenkins on K8s | Jenkins 流水线 | 补充 Kubernetes Plugin |
gitlab/ |
GitLab 部署 | GitLab 平台 | 补充持久化与初始密码 |
Kuboard/ |
Kuboard v3 | 集群面板 | 补充 RBAC 与 Ingress |
dashboard/ |
Dashboard Ingress | 集群面板 | 补充 Token 与最小权限 |
wordpress/ |
WordPress 部署 | WordPress 实战 | 与 examples/wordpress 合并 |
Mall-MicroService/ |
微服务商城 | 微服务商城 | 补充依赖顺序与验收 |
MageEdu-Private-Cloud/ |
私有云综合案例 | 私有云案例 | 补充 OpenStack 与部署顺序 |
tutorials/volume-in-practise/ |
存储卷实验 | 存储与持久化 | 修正清单错误,补充动态供给 |
新增内容¶
原仓库没有、但学习路径必需的内容:
| 新增章节 | 为什么需要 |
|---|---|
| 学习路线 | 原仓库没有统一的学习顺序 |
| 环境与工具 | 大量部署失败源于系统预检 |
| 架构与对象模型 | 不理解控制器,后面只能背命令 |
| 第一个应用 | 从零串起 Deployment/Service/Ingress |
| 命令速查 | 降低日常操作与排错的检索成本 |
| 排错手册 | 原仓库偏「成功路径」,缺少故障处理 |
| 术语表 | 统一中英文概念 |
| 平台能力总览 | 组件之间存在依赖顺序 |
| 各章「进阶挑战」 | 从「照着做」到「真的理解」 |
内容核对¶
| 检查项 | 状态 |
|---|---|
| 原仓库 28 个顶层目录均有映射 | ✅ |
| 核心 YAML 示例均可在 v1.31 运行 | ✅(旧 API 已标注) |
| 每个平台组件都有安装 + 验证步骤 | ✅ |
| 每个章节都有排错表 | ✅ |
| 所有站内链接可解析 | 构建时校验 |
版权与使用¶
原始代码与文档来自 iKubernetes/learning-k8s,由马哥教育开发,允许自由转载但需保留标识。本站对其内容进行了结构化重写与补充,仅用于学习与实验;生产使用前请自行验证。