k8s basis

k8s-basis

这里记录一些基础的, 个人容易遗忘的零散知识点:


label&annotation的区别:

  1. label: 可以用于表达式等匹配(selector)
  2. annotation: 只能作为一个附加的标签. annotations 没有像 labels 那样的大小限制,因此可以存储更长的数据,包括多行文本。

实际样例:

  • Labels 示例
    • 将一个 label environment: production 添加到生产环境的所有资源上,以便可以通过该 label 查询所有生产环境资源。
    • 使用 labels 来表示一个 Pod 是属于前端还是后端分层,比如 tier: frontend 或 tier: backend
  • Annotations 示例
    • 存储描述性信息,如说明、发布信息或联系信息,例如 kubernetes.io/description: "This service routes traffic to front-end pods."
    • 在构建或部署流程中,使用 annotations 存储版本控制系统的提交信息,构建服务器的信息,或者跟踪工具的信息。

总结来说,labels 是用于快速、有效地组织和选择资源的,而 annotations 是用来存储额外的、可能被客户端工具使用的信息。在设计 Kubernetes 资源时,应根据实际需要恰当地使用这两种机制。