【k8s教程】第七章 k8s存储 第一节 存储分类 笔记
前置回顾
上一章讲解了Kubernetes Service资源,Service是四层负载均衡实现,包含4种类型:
- ClusterIP:集群内部访问的负载均衡
- NodePort:通过节点端口暴露服务
- LoadBalancer:通过外部负载均衡器暴露服务
- ExternalName:通过DNS别名机制将集群外服务映射到集群内部,不基于IPVS实现
第七章整体内容预告
本章围绕K8s存储能力展开,共包含以下学习模块:
1. 存储分类
讲解不同存储类型的特性和适用场景
2. ConfigMap
用于存储配置文件的存储资源分类
3. Secret
以编码方式(非真正加密)存储敏感数据的资源
4. Downward API
将Pod自身元数据、运行元数据注入容器内部的机制
5. Volume
类比Docker卷概念,生命周期脱离容器的存储方式
6. PV/PVC(持久卷/持久卷申请)
将存储抽象为申请-应答机制,实现灵活绑定的持久化存储方案
7. StorageClass(存储类)
实现PV自动分配、自动创建的存储能力,进一步提升灵活性
8. 命令补全功能配置
提升kubectl操作效率的小功能
第一节 存储分类核心内容
存储按照数据产生类型分为两大类:元数据(Metadata) 和 真实数据(Real Data),两类数据对应不同的存储方案:
分类示例
以博客系统为例:
- Apache默认目录下存储的网页文件、用户上传的头像等属于真实数据
- MySQL中存储的用户名、密码、性别、年龄、手机号等属于元数据
1. 元数据存储(官方提供的3种类型)
1.1 ConfigMap
- 定位:官方推荐用于存储配置文件、配置类非敏感数据
- 特性:数据明文保存,无加密机制
1.2 Secret
- 定位:用于存储敏感数据,例如数据库密码、用户密码等
- 特性:数据会进行编码处理(注:并非真正加密,仅通过编码降低数据泄露风险)
1.3 Downward API
- 定位:支持容器在运行时从Kubernetes API服务器读取自身相关的元数据属性
- 示例可读取的属性:Pod的CPU限制、内存限制等资源配额信息
2. 真实数据存储(官方提供的2种类型)
2.1 Volume(卷)
- 定位:用于存储临时或持久化数据
- 特性:生命周期脱离容器,与Docker卷概念高度相似
2.2 PV/PVC(持久卷/持久卷申请)
- 核心思想:将底层存储抽象为可申请、可应答的标准化资源
- 优势:解决跨部门沟通成本高的问题,无需直接绑定唯一存储资源,使用灵活性更高
后续安排
后续课程会对每一种存储类型开展单独的实验演示,帮助理解特性与用法。
AI 总结
本节作为K8s存储章节的入门小节,核心梳理了存储的两大分类逻辑,以及不同存储组件的定位、特性和适用场景,为后续深入学习各存储组件的具体用法奠定了理论基础。