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

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

📌 前言

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

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


一、三种标识方式对比

标识方式 特点 谁生成 主要用途
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,筛选标记随便用
相关推荐
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS1 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun1 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
赵文宇(温玉)1 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang1 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
忆~遂愿2 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl2 天前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、2 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
ChaITSimpleLove2 天前
云原生性能对决:JDK21虚拟线程+GraalVM vs .NET10/11 技术栈深度对比
微服务·云原生·serverless·graalvm native·native aot·runtime async·.net11/java21