Administrator
发布于 2026-08-12 / 0 阅读
0
0

基础设施的变革1

> 来源链接:https://www.bilibili.com/video/BV1PbeueyE8V

# 课程大纲概览
本课程为 Kubernetes v1.29 2024 最新版,共 14 章,从介绍到安装、核心资源对象到运维实战,覆盖 CRD 自定义资源、自定义调度器等内容。

## 1. Kubernetes 介绍
### 1.1 基础设施变革
* 从最早的 IaaS 到现在的 PaaS 的演进特色与原因
* 为什么需要 Kubernetes,行业选择它的优势

### 1.2 组件组成
* 各组件构成及功能,存在原因

### 1.3 课程简述
* 课程整体内容定位

## 2. 安装前准备
### 2.1 Pod 概念
* Pod 是容器组,是 Kubernetes 集群最小调度单位
* Docker 部署容器,Kubernetes 部署 Pod
* Pod 特性、Pause 容器
* 通过 Docker 模拟 Pod 演示核心原理

### 2.2 Kubernetes 网络
* 网络是排错关键,网络不懂等于黑盒
* Kubernetes 内部网络结构与网络原则
* CNI Container Network Interface / 容器网络插件
  * host 网络、Overlay 网络等类型
* 覆盖网络 Overlay 与非覆盖网络区别
* Calico 为目前主流网络插件
  * 架构讲解、三种工作方式
  * 原理:VXLAN、IPIP、BGP
  * 修改配置文件切换工作模式及特性
* 本部分为老学员更新内容

## 3. 集群安装
* 使用 kubeadm 官方简化安装工具安装
* 安装一组两 master 结构,足以学习大部分特性
* 分析 kubeadm 安装输出日志,理解其执行过程
* 课程末尾运维四篇章将通过二进制方案搭建高可用集群
  * 三 master 两 worker 架构
  * 单节点生产环境问题将在最后一节解决

## 4. 资源清单与 Pod 生命周期
### 4.1 资源清单
* 资源清单是与 Kubernetes 对话的语言
* 先讲解资源:特性、分类
* 再讲解清单结构,指导编写资源清单

### 4.2 资源清单编写逻辑

### 4.3 Pod 生命周期
* Pod 为最小部署单位,需熟练掌握
* 画图分析 Pod 从创建到销毁全过程
* 初始化容器 Init Container 特性及实验演示
* 探针 Probe
  * 就绪探测 Readiness Probe
  * 存活探测 Liveness Probe
  * 启动探测 Startup Probe,1.16 版本后新增,老视频无此内容
* 钩子 Hook
  * 启动后 PostStart、关闭前 PreStop 钩子
  * 脚本运行方式与 HTTP GET 方式演示

### 4.4 Pod 调度过程
* Pod 创建到调度到 Node 节点经历的过程

## 5. 控制器 Controller
* 控制器是 Pod 的管家,实现自动恢复
* 实际生产均使用控制器部署 Pod,而非直接部署 Pod
* 常见 Pod 控制器:RC、RS、Deployment、DaemonSet、Job、CronJob、StatefulSet 等
* 各控制器特性讲解并实验演示

## 6. Service 服务
### 6.1 Service 概念
* 四层负载均衡,将多个相同类型服务对外暴露
* 类似 LVS 负载调度器 + 真实服务器 + 共享存储架构中的负载调度层
* 底层原理、优势、问题

### 6.2 工作模式
* ClusterIP:集群内部访问
* NodePort:外部用户访问
* LoadBalancer LB:需配合云厂商
* Ingress:基于 DNS 别名的机制

### 6.3 Endpoint
* Service 隐藏部分,更新内容
* 未就绪地址匹配特性
  * Service 匹配真实服务器条件:就绪 + 标签子集运算
  * 特定场景下可将未就绪 Pod 加入调度器

## 7. 存储 Storage
* 解决数据的存储与共享问题
### 7.1 存储分类
* Kubernetes 内部存储类型及特性
### 7.2 ConfigMap
* 配置中心概念,配置文件不封装进镜像,通过 ConfigMap 保存并挂载
* 热更新特性:修改 ConfigMap 后挂载的 N 个 Pod/N 个容器/N 个应用配置自动改变
* 不可变 Immutable 特性,新增内容,安全与防误操作
### 7.3 Secret
* 安全保存敏感数据,如 MySQL 密码、HTTPS 证书
* 加密方式为 Base64 编码,可解码,安全性有限,比 ConfigMap 强
* 具备不可变特性
### 7.4 Downward API
* 新增内容
* 将真实设置的 CPU 数量、内存数量传递给容器应用内部,避免 Java 等应用感知物理机资源导致 GC/内存溢出
* 可通过 API Server 接口获取更多源数据,对优化重要
### 7.5 Volume 卷、PV PVC
* 类似 Docker 卷,提供持久化能力
* PersistentVolume 与 PersistentVolumeClaim
* 补充 StatefulSet 控制器特性
### 7.6 StorageClass
* 老视频未提及,新增
* 通过开源 NFS 供应商模块模拟 StorageClass 使用
### 7.7 kubectl 命令行补全
* 放在本章讲解,初期建议多敲命令加深印象

## 8. 调度 Scheduling
* 应用在集群中如何分配到 Node 1~N,如何更理想分配
### 8.1 调度器原理
* 通过 Shell 编写自定义调度器加深理解,新增内容
### 8.2 预选与优选
* 控制调度结果的方式
  * 亲和性 Affinity:Pod 与 Pod、Pod 与 Node 绑定,软策略/硬策略,Pod 亲和性、Pod 反亲和性
  * 污点与容忍 Taints and Tolerations:排斥特性,完整实验演示
  * 固定节点调度 NodeSelector:指定 node01 运行

## 9. 集群安全机制
* 3A 服务:认证 Authentication、授权 Authorization、准入控制 Admission Control
### 9.1 认证
* 认证类型,目前采用基于双向 HTTPS 认证
* 证书签发、封装为 kubeconfig 文件
* Pod 灵活认证方式讲解
### 9.2 授权
* 是否为自己人 ≠ 有权限
* 主要使用 RBAC
* 角色 Role、ClusterRole、RoleBinding、ClusterRoleBinding
* 子资源与对象概念补充
* 实验演示资源分割
* 新增:资源角色类型匹配、官方预制角色权限说明
### 9.3 准入控制

## 10. Helm v3
* 从 Helm v2 升级到 v3,整块新加内容
* Helm 概念、Chart、Release 特性、组件结构、实现方式
* v2 与 v3 优缺点,v2 被替换原因
* 手写 Chart 包演示、常用工具
* Ingress Nginx 基于 Chart 部署演示
* 新增实验
  * 七层负载均衡、HTTP 代理、HTTPS 代理、基础认证
  * 域名重定向与 Rewrite
  * 错误代码重定向与单独声明
  * 后端请求头黑白名单、速率限制
  * 金丝雀部署、代理
  * 后端 HTTPS 协议、四层代理、链路追踪

## 11. 运维一
### 11.1 私有镜像仓库 Harbor
* 内部集群超融合方式部署,提供 Harbor 仓库与镜像仓库能力
### 11.2 日志方案 Loki
* 替代 ELK/EFK 重型方案,Grafana Labs 开源 Loki 日渐成熟
* Kubernetes 日志集成方案演示
### 11.3 资源监控方案 Prometheus 手工部署
* 不使用 Operator,一步步编写资源清单部署
* 手写 Deployment 部署 Prometheus
* Ingress Nginx 监控、Node Exporter 采集节点 CPU 内存等
* cAdvisor 采集容器资源指标
* API Server 指标、Service 监控、Startup Metrics 监控
* Grafana 图像展示
* metrics-server 部署,用于 HPA 与 kubectl 资源获取
* Alertmanager 报警推送
* 完整链路演示,新增内容
### 11.4 Pod 固定 IP 分配
* 新增内容,Pod 死亡重建 IP 会变化,特定场景需固定 IP
### 11.5 网络策略 NetworkPolicy
* Flannel 不支持,Calico 默认支持
* 详细讲解,对安全帮助重要

## 12. 运维二
* 因 PPT 100+ 页拆分讲解,本质仍为运维
### 12.1 临时容器 Ephemeral Container
* 新特性,便于在集群内部检测容器或 Pod 运行问题
### 12.2 端口转发 Port Forward
* 测试业务时好用,新增内容
### 12.3 审计 Audit
* 记录谁创建、删除、操作了什么,防止不认账
* 开启 Kubernetes 集群审计追加完整日志
### 12.4 安全参数
* Pod 获取权限需特别声明,如 Privileged 关键字
* PSA Pod Security Admission 安全策略应用
### 12.5 资源限制
* 无限制会导致集群不稳定
* 资源限制方式讲解
* HPA
* QoS 等级,新增内容
* OOM 与 ResourceQuota 结合

## 13. 运维三
### 13.1 Drain 与 Cordon
* 维护节点时的提前操作,新增内容
### 13.2 自定义 CRD
* 自定义资源定义演示,手写 CRD 完整演示,新增内容
### 13.3 集群备份
* ETCD 数据备份方式
* Velero 对象备份方式,新增内容

## 14. 基于二进制的高可用搭建
* 基于二进制方案搭建高可用集群
* 预计 2 小时+ 实验,需心理建设,逐步搭建

## AI 总结
本课程共 14 章,系统覆盖 Kubernetes v1.29 从概念、安装、核心对象 Pod/Service/控制器/存储/调度,到安全、Helm v3、运维监控日志、网络策略、备份等实战。重点新增内容包括 Calico 网络、Startup Probe、ConfigMap/Secret 不可变、Downward API、自定义调度器、Helm v3 完整实验、Prometheus 手工部署、Loki 日志、临时容器、审计、PSA 安全策略、CRD 自定义资源及二进制高可用搭建,形成从入门到生产运维的完整技能树。


评论