Kubernetes 对象标识详解:Name、UID、Label

Kubernetes 对象标识详解:Name、UID、Label

📌 前言

在 Kubernetes 中,每个对象都需要被唯一标识。Kubernetes REST API 使用 Name 和 UID 来明确标识对象,同时提供 Labels 和 Annotations 用于非唯一的用户自定义属性。

本文将帮你理清这三者的区别与用法。


一、三种标识方式对比

标识方式 特点 谁生成 主要用途
Name 同一时间唯一,可重复使用 用户定义 API URL 中引用对象
UID 整个集群生命周期内全局唯一 K8s 自动生成 区分不同时间创建的同名对象
Labels 非唯一,键值对 用户定义 筛选、分组、选择器
Annotations 非唯一,键值对 用户定义 附加元数据(非筛选用途)

二、Name(名称)

定义

Name 是用户在创建对象时赋予的唯一标识符。

特性

  • 唯一性约束:同一类型对象中,同一时间只能有一个相同的 Name
  • 可复用:对象被删除后,可以用相同的 Name 创建新对象
  • 用途:在 API URL 中引用对象

URL 示例

/api/v1/pods/some-name

text

命名规则

  • 最长 253 个字符
  • 允许字符:数字、-、.
  • ⚠️ 某些资源可能有更具体的限制

示例

yaml 复制代码
metadata:
  name: nginx-pod  # 这就是 Name

速记口诀

  • Name 用户起,同一时间不能重
  • 删了还能再用上,URL 里面显神通
  • UID 自动生,一生一次永不同
  • Label 和 Annotation,筛选标记随便用
相关推荐
分布式存储与RustFS14 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
闲云自留地21 小时前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
weirong1 天前
Operator 上生产前补的 6 件事,和 5 件我明确不做的
kubernetes
孙克旭_1 天前
k8s基础组件与创建资源
运维·docker·容器·kubernetes
孙克旭_1 天前
云原生基础之Containerd容器运行时
运维·云原生
分布式存储与RustFS1 天前
RustFS 自建对象存储实战目录:110 篇按场景分类(持续更新)
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
java_logo2 天前
Docker 部署 EmulatorJS:轻松搭建浏览器复古游戏平台
游戏·docker·容器·复古游戏·轩辕镜像·emulatorjs·红白机
吴声子夜歌2 天前
Kubernetes权威指南——网络原理(一)
网络·容器·kubernetes
方便面不加香菜2 天前
Docker Container --容器及容器的操作案例详解
运维·docker·容器
无言听风雨丶2 天前
Kubernetes Service Mesh 与 mTLS 实战:从网络可达走向零信任服务通信
网络·kubernetes·service_mesh