Kubernetes 其他资源详解:Namespace、Label、HPA、PDB、ResourceQuota 一文讲透¶
文章摘要¶
除了 Pod、Deployment、Service、PV、Ingress 等常见资源外,Kubernetes 还提供了许多辅助资源对象。
这些资源虽然不像 Deployment 那样显眼,却广泛应用于资源管理、调度控制、自动扩缩容、服务高可用以及集群运维中。
本文将系统讲解 Kubernetes 中最常见的其他资源对象,帮助你建立完整的 Kubernetes 资源体系认知。
学习目标¶
阅读完本文后,你将掌握:
- Namespace 的作用
- Label 与 Annotation 区别
- ResourceQuota 与 LimitRange
- HPA 自动扩缩容
- PDB 高可用保障
- Event 与 Lease 的作用
- Kubernetes 资源管理最佳实践
适用人群¶
本文适合:
- Kubernetes 初学者
- Linux 运维工程师
- DevOps 工程师
- 云原生学习者
- Kubernetes 面试准备人员
为什么会有这么多辅助资源?¶
Kubernetes 并不仅仅负责运行容器。
它还需要解决:
等问题。
因此 Kubernetes 提供了大量辅助资源。
Namespace¶
Namespace(命名空间)是 Kubernetes 中最常见的资源之一。
作用:
例如:
同一个资源名称:
可以同时存在于:
和:
中。
查看:
默认存在:
使用场景¶
常见环境隔离:
团队隔离:
Label¶
Label(标签)是 Kubernetes 中最核心的元数据之一。
作用:
例如:
Label 最大用途:
例如:
Service 通过 Label 找到 Pod:
Annotation¶
Annotation(注解)也是元数据。
但与 Label 不同。
Label 用于:
Annotation 用于:
例如:
或者:
Label 与 Annotation 对比¶
| 项目 | Label | Annotation |
|---|---|---|
| 用途 | 分类筛选 | 附加信息 |
| 可查询 | 是 | 否 |
| 参与 Selector | 是 | 否 |
ResourceQuota¶
ResourceQuota(资源配额)。
作用:
例如:
限制:
避免:
例如:
或者:
查看:
LimitRange¶
LimitRange 用于:
例如:
每个 Pod:
与 ResourceQuota 的区别:
| 资源 | 作用 |
|---|---|
| ResourceQuota | 限制总量 |
| LimitRange | 限制单个对象 |
HPA¶
HPA 全称:
中文:
作用:
例如:
自动扩容:
负载下降:
查看:
VPA¶
VPA 全称:
作用:
例如:
注意:
生产环境使用相对较少。
PDB¶
PDB 全称:
中文:
作用:
例如:
Deployment:
升级节点时:
运行。
避免:
查看:
Event¶
Event(事件)。
作用:
例如:
查看:
故障排查时非常重要。
Lease¶
Lease 是 Kubernetes 较新的资源。
主要用于:
例如:
如果超时:
控制平面组件也会使用 Lease。
例如:
高可用选举。
常见资源关系图¶
资源管理:
自动扩缩容:
高可用:
元数据:
生产环境最佳实践¶
所有业务使用 Namespace¶
避免全部放在 default。
使用统一 Label 规范¶
例如:
配置 ResourceQuota¶
防止资源抢占。
配置 LimitRange¶
防止超规格申请。
为关键业务配置 PDB¶
保证升级过程可用性。
使用 HPA¶
提升资源利用率。
常见故障排查¶
查看 Namespace:
查看 Label:
查看 HPA:
查看 PDB:
查看 Event:
查看 Lease:
面试常见问题¶
Namespace 的作用是什么?¶
资源逻辑隔离。
Label 和 Annotation 的区别?¶
Label 用于筛选,Annotation 用于描述。
ResourceQuota 和 LimitRange 的区别?¶
一个限制总量,一个限制单个对象。
HPA 的作用是什么?¶
自动扩缩容。
PDB 的作用是什么?¶
保证业务高可用。
Event 有什么作用?¶
记录资源运行事件。
FAQ¶
Namespace 是否提供真正安全隔离?¶
不是。
主要是逻辑隔离。
HPA 根据什么扩容?¶
通常根据:
Event 会永久保存吗?¶
不会。
会定期清理。
总结¶
除了核心资源外,Kubernetes 还提供了大量辅助资源用于资源管理、自动扩缩容、高可用和运维管理。
其中:
- Namespace 实现资源隔离
- Label 与 Annotation 提供元数据管理
- ResourceQuota 与 LimitRange 控制资源使用
- HPA 实现自动扩缩容
- PDB 保障业务高可用
- Event 提供故障排查依据
- Lease 实现节点心跳与选举
可以记住一句话:
Kubernetes 不仅管理容器,还通过大量辅助资源管理整个集群的生命周期。
相关阅读¶
Kubernetes 架构原理¶
- Kubernetes API Server 工作原理
- Kubernetes Scheduler 工作原理
- Kubernetes Controller Manager 工作原理
- Kubernetes Kubelet 工作原理
- Kubernetes ETCD 工作原理
Kubernetes 资源体系¶
- Kubernetes API 资源详解
- Kubernetes 工作负载资源详解
- Kubernetes 存储资源详解
- Kubernetes 网络资源详解
- Kubernetes 安全资源详解
Kubernetes 实战教程¶
- Kubernetes HPA 自动扩缩容实战(待更新)
- Kubernetes ResourceQuota 配置指南(待更新)
- Kubernetes PDB 使用指南(待更新)
- Kubernetes Label 与 Selector 实战(待更新)