跳转至

Kubernetes 容器云原生实战课程 · 课程大纲


一、课程概述

本课程是一套完整的 Kubernetes 实战教学体系,以 "理论 + 动手 + 认证" 三位一体为设计原则,交付 教材(19 章)、实验手册(14 个实验 / 93 个 Lab)、授课课件(19 章 / 412 页) 三件套。课程从容器原理讲起,覆盖集群搭建、核心对象、调度、网络、存储、安全、运维与排障,最终对接 CKA(Certified Kubernetes Administrator) 官方认证。

课程全部实验基于 3 节点真实集群(Kubernetes v1.36 · containerd 2.2 · Ubuntu 24.04 · Calico v3.29)逐项实测验证,命令与输出以国内网络环境为基线(镜像加速、版本差异均已处理),确保学员照做即可复现。

课程特色: - 声明式思维主线:从第 2 章控制循环贯穿到排障与运维,建立"期望状态"心智模型 - 实验分级体系:93 个 Lab 分为必做(67)/ 推荐(19)/ 可选·进阶(7)三级,兼顾教学主线和学员差异 - 生产基线贯穿:每章含"设计指南 / 生产基线"小节,直接给出可落地的企业实践 - CKA 考点标注:教材与课件全程标注五大域考点,结课即可进入备考冲刺

二、课程目标

学完本课程,学员能够:

知识层面 1. 解释容器的核心技术原理(命名空间、cgroups、镜像分层、OCI 标准)及 Kubernetes 的架构设计(控制面/数据面组件、星型通信、对象模型) 2. 掌握 Kubernetes 六大核心概念(集群/节点、Pod、工作负载、Service、命名空间、标签选择器)及声明式操作哲学 3. 理解调度、扩缩容、存储、网络、安全、可观测性各领域的机制与选型逻辑

技能层面 4. 使用 kubeadm 从零搭建 3 节点生产级集群(含国内镜像加速与 Calico 网络) 5. 熟练编写 Deployment / StatefulSet / Service / ConfigMap / Secret / PV-PVC 等核心对象清单 6. 独立完成应用的发布、滚动更新、回滚、水平扩展与故障自愈验证 7. 掌握分层排障方法论(节点 → Pod → 容器 → 网络 → 存储),能定位集群常见故障 8. 完成集群安全加固(RBAC、PSA、证书续期、etcd 静态加密、审计日志)与日常运维(备份、升级、维护窗口)

认证层面 9. 全面覆盖 CKA 五大域(架构 25% / 工作负载 15% / 网络 20% / 存储 10% / 排障 30%)考点,具备通过 CKA 考试的实操能力

三、课程受众

受众 说明
运维 / 平台工程师 负责 K8s 集群建设、维护与业务上云
开发工程师 需要理解部署模型、排查应用问题、接入 CI/CD
架构师 / 技术负责人 需要掌握技术选型与生产设计决策
在校学生 / 转行者 有 Linux 基础,希望进入云原生领域

前置要求:Linux 基本操作(命令、文件、网络概念);了解容器基本概念(不要求 Docker 精通——第 1 章会系统补齐);无需编程基础。

四、课程内容

目录按"部分 → 章 → 节 → 小节"四级组织,每章标注建议学时(理论+实验)与配套实验。

第一部分 基础与入门(第 1-3 章,约 16 学时)

第 1 章 容器与云原生基础(2h,无强制实验)

  • 1.1 容器技术原理
  • 1.1.1 从虚拟机到容器
  • 1.1.2 命名空间(Namespaces):隔离"看得见"
  • 1.1.3 cgroups:限制"能用多少"
  • 1.1.4 镜像分层(Layer)
  • 1.1.5 OCI 标准:让"容器"不绑死某一家
  • 1.2 Docker 快速回顾(镜像 / 容器 / 仓库)
  • 1.2.1 三大概念
  • 1.2.2 常用命令速查
  • 1.3 容器化的价值与挑战
  • 1.3.1 价值
  • 1.3.2 单机场景的挑战(编排器的需求来源)
  • 1.4 云原生与 CNCF
  • 1.4.1 云原生的定义
  • 1.4.2 CNCF 项目全景(与本课程相关)
  • 1.5 容器编排器对比:为什么是 Kubernetes

第 2 章 Kubernetes 概述与架构(4h,Killercoda 沙盒演练)

  • 2.1 Kubernetes 是什么
  • 2.1.1 定义与来历
  • 2.1.2 它解决什么(承接第 1 章痛点)
  • 2.1.3 核心承诺(设计宣言)
  • 2.2 六个核心概念详解
  • 2.2.1 集群与节点
  • 2.2.2 Pod:最小调度单元
  • 2.2.3 工作负载控制器(Workload Controllers)
  • 2.2.4 Service:稳定入口
  • 2.2.5 命名空间(Namespace)
  • 2.2.6 标签与选择器(Label & Selector)
  • 2.2.7 六个核心概念关系图
  • 2.2.8 设计指南:企业级命名与标签规范
  • 2.3 命令式 vs 声明式,与控制循环 ⭐
  • 2.3.1 命令式 vs 声明式:两种操作哲学
  • 2.3.2 期望状态与当前状态
  • 2.3.3 控制循环(Control Loop):自愈与弹性的根源
  • 2.3.4 实例走查:Deployment 如何保证"3 个副本"
  • 2.4 控制面组件详解
  • 2.4.1 kube-apiserver:集群的唯一入口
  • 2.4.2 etcd:集群的状态存储
  • 2.4.3 kube-scheduler:调度器
  • 2.4.4 kube-controller-manager:控制器集合
  • 2.4.5 cloud-controller-manager(云环境)
  • 2.5 数据面组件详解
  • 2.5.1 kubelet:节点上的"Kubernetes 代理"
  • 2.5.2 kube-proxy:Service 的"交通警察"
  • 2.5.3 容器运行时与 CRI
  • 2.6 组件通信全流程
  • 2.6.1 旅程一:kubectl get pods 读请求
  • 2.6.2 旅程二:kubectl apply -f web.yaml 创建 Deployment
  • 2.6.3 通信安全:TLS 双向证书与端口
  • 2.7 对象模型详解
  • 2.7.1 Group / Version / Kind:如何定位一个资源
  • 2.7.2 metadata:对象的"身份"
  • 2.7.3 spec 与 status:期望 vs 当前
  • 2.7.4 完整示例:Deployment 对象逐字段
  • 2.8 kubectl 与 kubeconfig
  • 2.8.1 kubectl 命令体系
  • 2.8.2 kubeconfig 与上下文
  • 2.9 【沙盒演练】Killercoda:零成本接触真实集群
  • 2.9.1 环境准备(5 分钟)
  • 2.9.2 演练 1:认识集群与组件
  • 2.9.3 演练 2:describe 一个组件
  • 2.9.4 演练 3:创建第一个 Pod,看 spec vs status
  • 2.9.5 演练 4:体验自愈 ⭐
  • 2.9.6 演练 5:Service 与扩缩容
  • 2.9.7 演练小结(对照自查)

第 3 章 集群安装与配置(4h 理论 + 6h 实验 01)

  • 3.1 安装方式的抉择:为什么是 kubeadm
  • 3.2 安装前必须想清楚的事
  • 3.2.1 集群形态与资源
  • 3.2.2 版本策略
  • 3.2.3 网络规划:三个网段不能打架
  • 3.2.4 环境前置条件(每项的"为什么")
  • 3.2.5 设计指南:集群容量规划与节点选型
  • 3.3 容器运行时:为什么是 containerd,而不是 Docker
  • 3.3.1 运行时在集群中的角色
  • 3.3.2 Docker 与 containerd 的历史纠葛(重要背景)
  • 3.3.3 其他运行时:各有各的场景
  • 3.3.4 关键配置项的原理:SystemdCgroup
  • 3.4 kubeadm 安装流程总览
  • 3.5 控制面初始化:kubeadm init 在做什么
  • 3.6 工作节点加入:token 机制与 TLS bootstrap
  • 3.7 网络插件(CNI)的选择:为什么是 Calico
  • 3.7.1 CNI 的角色
  • 3.7.2 主流 CNI 对比与适用场景
  • 3.7.3 本课程为什么选 Calico
  • 3.7.4 一个必须一致的参数:Pod 网段
  • 3.8 集群验证:验证什么、为什么
  • 3.9 国内环境的镜像获取策略(问题本质与思路)
  • 3.10 安装之后:集群维护的起点

第二部分 工作负载与配置(第 4-8 章,约 24 学时)

第 4 章 Pod 与容器(4h 理论 + 4h 实验 02)

  • 4.1 Pod 的本质:为什么是"最小调度单元"
  • 4.1.1 第 2 章回顾:Pod 是"逻辑主机"
  • 4.1.2 Pod 的共享边界(到底共享什么)
  • 4.1.3 单容器 vs 多容器:三种协作模式
  • 4.2 容器的配置要素
  • 4.2.1 镜像与拉取策略(imagePullPolicy)
  • 4.2.2 命令与参数(command / args)
  • 4.2.3 环境变量
  • 4.2.4 标签与注解(Pod 层面)
  • 4.2.5 生产基线:SecurityContext 概览
  • 4.3 Init 容器:启动前的"先决条件执行器"
  • 4.3.1 为什么需要 Init 容器
  • 4.3.2 工作机制
  • 4.3.3 Init 容器 vs sidecar 容器
  • 4.4 容器生命周期管理
  • 4.4.1 容器的三种状态
  • 4.4.2 三种探针:各管一件事
  • 4.4.3 探针的实现方式:怎么探测
  • 4.4.4 生命周期钩子与优雅终止
  • 4.4.5 重启策略(restartPolicy)
  • 4.5 资源模型:requests 与 limits
  • 4.5.1 两个不同的机制(全书最容易混的点)
  • 4.5.2 不设置会怎样
  • 4.5.3 requests/limits 与 QoS 等级
  • 4.5.4 Downward API:Pod 怎么"认识自己"
  • 4.6 走查:一个 Pod 的完整生命周期

第 5 章 工作负载控制器(3h 理论 + 3h 实验 03)

  • 5.1 控制器:管理 Pod 的"管理者"
  • 5.1.1 为什么需要控制器
  • 5.1.2 控制器的共同骨架
  • 5.1.3 控制器选择决策树(先选对类型)
  • 5.2 Deployment 与 ReplicaSet:无状态应用的标准答案
  • 5.2.1 三层结构
  • 5.2.2 副本管理与自愈
  • 5.2.3 滚动更新:发布不中断的节奏控制
  • 5.2.4 回滚:出问题一键还原
  • 5.2.5 扩缩容与暂停
  • 5.2.6 设计指南:生产发布策略
  • 5.3 StatefulSet:有状态应用的正确打开方式
  • 5.3.1 有状态应用的三个难题
  • 5.3.2 稳定网络标识:web-0、web-1、web-2
  • 5.3.3 稳定存储:每个副本绑定自己的 PVC
  • 5.3.4 有序部署/缩容/更新
  • 5.3.5 StatefulSet vs Deployment(选型对照)
  • 5.4 DaemonSet:每节点一个
  • 5.4.1 机制
  • 5.4.2 典型场景
  • 5.4.3 与 Deployment 的本质区别
  • 5.5 Job 与 CronJob:任务型工作负载
  • 5.5.1 Job:一次性任务
  • 5.5.2 CronJob:定时触发 Job
  • 5.5.3 任务型 vs 服务型(restartPolicy 的关键差异)
  • 5.6 控制器选择总决策树(走查实例)

第 6 章 调度与 Pod 放置(3h 理论 + 3h 实验 04)

  • 6.1 调度器:Pod 落点的决策者
  • 6.1.1 调度的本质
  • 6.1.2 两阶段决策:过滤与打分
  • 6.1.3 调度器的可替换性
  • 6.1.4 Descheduler:调度生命周期的闭环
  • 6.2 节点选择:把 Pod 定向到节点
  • 6.2.1 nodeSelector:最简单的方式
  • 6.2.2 节点亲和/反亲和:表达式的力量
  • 6.2.3 matchExpressions 语法(operators)
  • 6.2.4 三种节点选择手段的选型
  • 6.3 Pod 亲和/反亲和:Pod 之间的位置关系
  • 6.3.1 为什么需要"Pod 之间的位置控制"
  • 6.3.2 拓扑域(topologyKey):用什么维度衡量"同一处"
  • 6.3.3 podAffinity / podAntiAffinity
  • 6.3.4 典型场景设计
  • 6.3.5 Pod 拓扑分布约束(topologySpreadConstraints)
  • 6.4 污点与容忍:节点的"排斥力"与 Pod 的"通行证"
  • 6.4.1 机制:两个方向的力量
  • 6.4.2 三种 effect(排斥的强度)
  • 6.4.3 内置污点:你其实天天在用
  • 6.4.4 应用场景
  • 6.4.5 污点 vs 亲和(两个独立维度)
  • 6.5 节点维护与驱逐保护
  • 6.5.1 维护三步曲:cordon / drain / uncordon
  • 6.5.2 PodDisruptionBudget:驱逐的保险丝
  • 6.6 综合走查:一个 Pod 的完整落点决策

第 7 章 自动扩缩与资源治理(2h 理论 + 2h 实验 05)

  • 7.1 指标链路:扩缩容的数据基础
  • 7.1.1 谁提供"用量数据"
  • 7.1.2 指标链路
  • 7.2 HPA:水平自动扩缩
  • 7.2.1 原理:又一个控制循环
  • 7.2.2 指标类型(autoscaling/v2)
  • 7.2.3 伸缩节奏:为什么不会"抖"?
  • 7.2.4 behavior:精细控制伸缩
  • 7.2.5 局限与注意
  • 7.3 垂直扩缩与集群扩缩:另外两个维度
  • 7.3.1 VPA(Vertical Pod Autoscaler):调 requests 而不是副本数
  • 7.3.2 ClusterAutoscaler(CA):节点级扩缩
  • 7.3.3 三种扩缩的定位
  • 7.3.4 KEDA:事件驱动自动扩缩(进阶)
  • 7.4 资源治理三层防线
  • 7.4.1 第一层:requests/limits(Pod 自己声明)
  • 7.4.2 第二层:LimitRange(命名空间内约束"单个 Pod")
  • 7.4.3 第三层:ResourceQuota(命名空间内约束"总量")
  • 7.4.4 三层协作与设计建议
  • 7.4.5 设计指南:多租户治理体系

第 8 章 配置管理:ConfigMap 与 Secret(2h 理论 + 2h 实验 06)

  • 8.1 为什么需要"配置外部化"
  • 8.1.1 配置写死在镜像/代码里的三个痛点
  • 8.1.2 配置外部化的原则
  • 8.2 ConfigMap:非敏感配置
  • 8.2.1 本质与创建
  • 8.2.2 消费方式一:卷挂载(键变文件)
  • 8.2.3 消费方式二:环境变量(键变变量)
  • 8.2.4 两种方式对比
  • 8.2.5 热更新的底层原理(重要)
  • 8.2.6 subPath 挂载陷阱(经典坑,必读)
  • 8.2.7 immutable 与热更新工具(生产性能)
  • 8.3 Secret:敏感配置
  • 8.3.1 与 ConfigMap 的关系
  • 8.3.2 重要认知:base64 是编码,不是加密
  • 8.3.3 Secret 的类型
  • 8.3.4 消费方式
  • 8.3.5 Secret 的安全边界
  • 8.4 Downward API:注入"自己是谁"
  • 8.5 配置管理最佳实践(生产)

第三部分 网络与存储(第 9-10 章,约 12 学时)

第 9 章 服务、负载均衡与网络(3h 理论 + 3h 实验 07)

  • 9.1 网络全景:四个层次
  • 9.2 Service:稳定入口的完整原理
  • 9.2.1 为什么需要 Service
  • 9.2.2 机制:Endpoints + kube-proxy
  • 9.2.3 Service 的四种类型
  • 9.2.4 headless Service:不要虚拟 IP
  • 9.2.5 多端口与端口命名
  • 9.3 集群 DNS:名字解析
  • 9.3.1 coredns 的角色
  • 9.3.2 解析规则
  • 9.3.3 排障视角
  • 9.4 Ingress:七层入口
  • 9.4.1 为什么需要 Ingress
  • 9.4.2 原理:对象 + 控制器
  • 9.4.3 路由规则:host 与 path
  • 9.4.4 TLS 终止
  • 9.4.5 Ingress 与 Service 的分工(易混点)
  • 9.4.6 展望:Gateway API(Ingress 的继任者)
  • 9.5 NetworkPolicy:网络隔离
  • 9.5.1 默认全通(现状与风险)
  • 9.5.2 原理
  • 9.5.3 典型策略设计
  • 9.5.4 依赖 CNI(重要)
  • 9.6 综合走查:外部用户访问应用的完整路径

第 10 章 存储(3h 理论 + 3h 实验 08)

  • 10.1 存储问题全景
  • 10.1.1 容器文件系统为什么"靠不住"
  • 10.1.2 三个存储需求
  • 10.2 卷(Volume):Pod 内的存储抽象
  • 10.3 PV 与 PVC:存储解耦(核心)
  • 10.3.1 为什么需要两层
  • 10.3.2 PV:存储资源的"货架"
  • 10.3.3 PVC:应用的存储请求
  • 10.3.4 生命周期
  • 10.3.5 静态绑定 vs 动态供应
  • 10.4 StorageClass:动态供应(自动化)
  • 10.4.1 为什么需要
  • 10.4.2 机制
  • 10.4.3 绑定模式(VolumeBindingMode)
  • 10.4.4 回收策略
  • 10.4.5 PVC 在线扩容(Volume Expansion)
  • 10.4.6 Volume Snapshots:存储快照与恢复(数据保护)
  • 10.5 存储方案选型:本地 vs 共享 vs 云盘
  • 10.5.1 local-path:本地方案的本质与局限
  • 10.5.2 共享存储(NFS/云盘):多节点可访问
  • 10.5.3 CSI:标准接口

第四部分 安全(第 11-13 章,约 10 学时)

第 11 章 认证与授权(2h 理论 + 2h 实验 09)

  • 11.1 安全模型总览:三道门
  • 11.2 认证:你是谁
  • 11.2.1 两种身份
  • 11.2.2 认证方式(apiserver 支持的)
  • 11.2.3 X.509 证书认证的机制
  • 11.2.4 ServiceAccount 与 Token(v1.24+ 的重要变化)
  • 11.2.5 kubeconfig 多身份(第 2 章 §2.8.2 深化)
  • 11.3 授权:你能干什么(RBAC)
  • 11.3.1 RBAC 三要素
  • 11.3.2 Role vs ClusterRole(权限的范围)
  • 11.3.3 RoleBinding vs ClusterRoleBinding(生效范围)
  • 11.3.4 rules 写法(自定义权限)
  • 11.3.5 内置角色(现成的权限模板)
  • 11.3.6 认证 vs 授权(核心辨析)
  • 11.4 最小权限设计
  • 11.4.1 原则
  • 11.4.2 验证工具:kubectl auth can-i

第 12 章 准入控制与容器安全(2h 理论 + 2h 实验 09)

  • 12.1 准入控制:第三道门
  • 12.1.1 时机与角色
  • 12.1.2 两类控制器
  • 12.1.3 常见准入控制器(本章前后知识点的"汇聚点")
  • 12.2 Pod Security Admission(PSA):安全标准的强制执行
  • 12.2.1 为什么需要
  • 12.2.2 三个安全级别(由松到严)
  • 12.2.3 实施方式:命名空间标签
  • 12.2.4 违规的后果(报错解读)
  • 12.3 SecurityContext:容器加固
  • 12.3.1 默认风险
  • 12.3.2 关键字段(四个必须懂)
  • 12.3.3 Pod 级 vs 容器级
  • 12.3.4 与 PSA 的关系:自觉 vs 强制
  • 12.4 镜像安全
  • 12.4.1 私有仓库凭据:imagePullSecrets
  • 12.4.2 最小镜像与签名(概念)
  • 12.5 策略即代码:OPA Gatekeeper / Kyverno(第三方准入)

第 13 章 集群安全加固(2h 理论 + 2h 实验 09)

  • 13.1 集群信任链总览
  • 13.2 证书体系与续期
  • 13.2.1 组件证书全景(谁有证书)
  • 13.2.2 证书过期 = 集群瘫痪(为什么)
  • 13.2.3 检查与续期
  • 13.2.4 kubeconfig 与证书(回顾)
  • 13.3 etcd 安全
  • 13.3.1 TLS:通信加密
  • 13.3.2 静态加密:落盘加密(数据线核心)
  • 13.3.3 备份安全
  • 13.4 kubelet 安全
  • 13.4.1 kubelet 也有 API(10250)
  • 13.4.2 默认配置(kubeadm 的安全基线)
  • 13.5 API Server 审计日志(集群的"天眼")
  • 13.5.1 审计与事件的区别(第 15 章回顾)
  • 13.5.2 Audit Policy:记录什么(配置逻辑)
  • 13.5.3 存储与用途
  • 13.6 密钥与数据安全(汇总)
  • 13.6.1 Secret 的三道保护(第 8 章 §8.3.5 深化)
  • 13.6.2 网络隔离(第 9 章 NetworkPolicy 的安全视角)

第五部分 集群运维与排障(第 14-16 章,约 14 学时)

第 14 章 集群日常管理与维护(2h 理论 + 2h 实验 12)

  • 14.1 运维思维:从"命令"到"流程"
  • 14.2 节点管理流程
  • 14.2.1 维护窗口三步曲(流程化)
  • 14.2.2 PDB 与业务保护(回顾 + 运维视角)
  • 14.2.3 污点隔离(节点级运维手段)
  • 14.3 集群升级:完整流程
  • 14.3.1 升级前的准备(先做三件事)
  • 14.3.2 升级顺序(为什么是这个顺序)
  • 14.3.3 升级中的业务保障(三条机制叠加)
  • 14.3.4 失败与回滚预案
  • 14.3.5 版本兼容窗口(不能跳版本)
  • 14.3.6 Addons 升级管理(容易漏的一环)
  • 14.4 etcd 备份策略:不只是"存个快照"
  • 14.4.1 备份什么、多久、存哪
  • 14.4.2 恢复演练("恢复会丢什么")
  • 14.4.3 验证闭环
  • 14.5 控制面高可用(概念层)
  • 14.5.1 为什么需要
  • 14.5.2 多控制面架构(kubeadm 支持)
  • 14.5.3 etcd Raft:为什么是奇数节点
  • 14.5.4 设计指南:高可用与灾备架构(HA/DR)
  • 14.6 运维日历(SRE 例行动作)
  • 14.7 命名空间与资源治理(运维视角)

第 15 章 可观测性:监控、日志与事件(2h 理论 + 2h 实验 05/14)

  • 15.1 可观测性三支柱
  • 15.2 指标(Metrics)
  • 15.2.1 实时指标:metrics-server(第 7 章回顾)
  • 15.2.2 完整监控:Prometheus 体系(概念)
  • 15.2.3 PromQL 极简实战(会看、会写一条就够)
  • 15.2.4 生产指标实践
  • 15.3 日志(Logs)
  • 15.3.1 kubectl logs 的边界
  • 15.3.2 日志架构:stdout 是标准
  • 15.3.3 日志收集模式(日志要"出集群")
  • 15.3.4 生产日志实践
  • 15.4 事件(Events)与审计
  • 15.4.1 事件:对象状态变化的流水账
  • 15.4.2 审计日志:apiserver 请求全记录(概念)
  • 15.5 分布式追踪(Tracing):请求的一生
  • 15.6 排障入口:三支柱怎么配合

第 16 章 故障排查与可靠性(3h 理论 + 3h 实验 10)

  • 16.1 排障方法论:先有框架,再动手
  • 16.1.1 分层排查框架
  • 16.1.2 证据链思维(第 15 章三支柱的整合)
  • 16.1.3 排障纪律(三条铁律)
  • 16.2 各层排障详解
  • 16.2.1 节点层:NotReady
  • 16.2.2 Pod 层:Pending / ImagePullBackOff / CrashLoopBackOff
  • 16.2.3 容器层:应用自己
  • 16.2.4 网络层:访问不通(Service/DNS 排查流程)
  • 16.2.5 存储层:卷挂不上
  • 16.3 典型故障图谱(现象 → 根因 → 修复速查)
  • 16.4 可靠性工程
  • 16.4.1 发布可靠性
  • 16.4.2 下线可靠性
  • 16.4.3 驱逐可靠性
  • 16.4.4 主动演练(混沌工程思想)
  • 16.5 SRE 运营规范:把可靠性"制度化"

第六部分 综合与扩展(第 17-19 章,约 14 学时)

第 17 章 Helm 与 Kustomize(2h 理论 + 2h 实验 13)

  • 17.1 为什么需要应用打包工具
  • 17.1.1 裸 YAML 管理的三个痛点
  • 17.1.2 工具链的定位(两个互补的工具)
  • 17.2 Helm:应用包的标准格式
  • 17.2.1 核心模型(三个概念)
  • 17.2.2 Chart 目录结构(解剖一个应用包)
  • 17.2.3 模板化原理(values 注入 + 渲染)
  • 17.2.4 常用命令(安装 / 升级 / 回滚)
  • 17.3 Kustomize:不用模板,用覆盖
  • 17.3.1 定位与机制
  • 17.3.2 base/overlay 环境定制
  • 17.3.3 Helm vs Kustomize(决策逻辑)
  • 17.4 企业发布流程(Helm + CI/CD)

第 18 章 综合实战:应用发布全流程(2h 理论 + 4h 实验 11)

  • 18.1 需求与架构设计
  • 18.1.1 需求拆解:一个需求,四个子问题
  • 18.1.2 架构设计:数据与应用分离(核心原则)
  • 18.2 分层落地
  • 18.2.1 数据层:MySQL + Secret + PVC(StatefulSet)
  • 18.2.2 应用层:Deployment 双线
  • 18.2.3 访问层:Service / Ingress
  • 18.2.4 扩展层:HPA + 多副本(存储限制的认知)
  • 18.2.5 保护层:探针 / 优雅终止 / PDB(生产加配)
  • 18.3 验证体系:怎么证明"能用了"
  • 18.4 清理规范:先入口后数据
  • 18.5 展望:CRD 与 Operator(集群扩展机制)

第 19 章 CKA 考试指南(2h 理论 + 4h 模拟演练)

  • 19.1 考试概览
  • 19.1.1 考试形式
  • 19.1.2 考试环境要点(提前适应)
  • 19.1.3 评分思路
  • 19.2 五大域考点浓缩(全书速查)
  • 域 1:集群架构、安装与配置(25%)
  • 域 2:工作负载与调度(15%)
  • 域 3:服务与网络(20%)
  • 域 4:存储(10%)
  • 域 5:故障排查(30%——第一权重)
  • 19.3 考试技巧
  • 19.3.1 时间管理
  • 19.3.2 kubectl 效率技巧(核心)
  • 19.3.3 上下文切换(每题的"第一动作")
  • 19.3.4 保存进度
  • 19.4 常见陷阱
  • 19.4.1 v1.36 语法差异(本课程基线实测)
  • 19.4.2 配置易错点(考试高频扣分项)
  • 19.4.3 心理与操作
  • 19.5 备考路线图(考前 4-6 周)
  • 19.6 模拟演练指引

五、教学安排

学时规划(完整版约 96h;紧凑班约 52h)

部分 章节 理论 实验 小计
一、基础与入门 第 1-3 章 10h 6h 16h
二、工作负载与配置 第 4-8 章 14h 14h 28h
三、网络与存储 第 9-10 章 6h 6h 12h
四、安全 第 11-13 章 6h 6h 12h
五、运维与排障 第 14-16 章 7h 7h 14h
六、综合与扩展 第 17-19 章 6h 8h 14h
合计 19 章 49h 47h ≈96h

紧凑班型:只做必做实验 + 精选章节,理论 24h + 实验 28h ≈ 52h。

教学方法

  • 理论课:教材 + 课件(每章 16-45 页),重点讲机制与"为什么"
  • 实验课:实验手册六要素结构(目标 → 验证概念 → 配置要点 → 观察点 → 清理),3 节点集群实操
  • 沙盒热身:第 2 章 Killercoda 免费沙盒先行体验
  • 课后:每章思考题(教材章末)+ 分级 Lab 自测

实验分级体系(授课取舍依据)

级别 数量 定位
必做 67 个 Lab 课堂主线,覆盖 CKA 考点
推荐 19 个 Lab 加深理解(sidecar、QoS、NFS、rollout 等)
可选·进阶 7 个 Lab 需额外组件(KEDA、Prometheus、审计、证书续期等)

六、考核与认证

  1. 过程考核:每个实验的验收清单 + 章节思考题
  2. 结课项目:第 18 章综合实战(WordPress 全链路发布)独立完成
  3. CKA 对接:完成全部必做 Lab + 第 19 章模拟演练后报考;CKA 五域权重——架构 25% / 工作负载 15% / 网络 20% / 存储 10% / 排障 30%

七、教学环境与资源

  • 集群:3 节点云主机(2C4G 起)Ubuntu 24.04,实验 01 从零安装
  • 版本:Kubernetes v1.36.3 · containerd 2.2 · Calico v3.29 · metrics-server v0.9
  • 镜像:全部实验镜像国内可拉(详见 manual/00-实验镜像清单.md,仅 KEDA 的 ghcr.io 受限、可选实验可跳过)
  • 课件:ppt/ 下 19 章分章 PPTX + 416 页完整版(pptxgenjs 源码可再生成)
  • 配套文档:textbook/GLOSSARY.md 术语表、textbook/COURSE-OUTLINE.md 章↔实验逐条映射、CHANGELOG.md 全部修订历史