资源注解

除了标签(label)之外,Pod与其他各种资源还能使用资源注解(annotation)。与标签类似,注解也是“键值”类型的数据,不过它不能用于标签及挑选Kubernetes对象,仅可用于为资源提供“元数据”信息。另外,注解中的元数据不受字符数量的限制,它可大可小,可以为结构化或非结构化形式,也支持使用在标签中禁止使用的其他字符。

资源注解可由用户手动添加,也可由工具程序自动附加并使用它们。在Kubernetes的新版本中(alpha或beta阶段)为某资源引入新字段时,常以注解的方式提供,以避免其增删等变动对用户带来困扰,一旦确定支持使用它们,这些新增字段就将再引人到资源中并淘汰相关的注解。另外,为资源添加注解也可让其他用户快速了解资源的相关信息,例如其创建者的身份等。以下为常用的场景案例。

  • 由声明式配置层(如apply命令)管理的字段:将这些字段定义为注解有助于识别由服务器或客户端设定的默认值、系统自动生成的宇段以及由自动伸缩系统生成的字段。

  • 构建、发行或镜像相关的信息,例如,时间戳、发行ID、Git分支、PR号码、镜像哈希及仓库地址等。

  • 指向日志、监控、分析或审计仓库的指针。

  • 由客户端库或工具程序生成的用于调试目的的信息:如名称、版本、构建信息等。

  • 用户或工具程序的来源地信息,例如来自其他生态系统组件的相关对象的url。

  • 轻量化滚动升级工具的元数据,如config及checkpoints。

  • 相关人员的电话号码等联系信息,或者指向类似信息的可寻址的目录条目,如网站站点。

查看资源注解

“kubectl get -o yaml”和“kubectl describe”命令均能显示资源的注解信息。例如下面的命令显示的pod-example的注解信息:

kubectl describe pods pod-example
Name: pod-example
Nameapace: default
Node: node02.ilinux.io/172.16.0.67
Start Time: Mon,······
Labels: env=production
Annotation: kubectl.kubernetes.io/······
······
Status: Running

  

pod-example此前由声明式配置命令apply创建,因此它在注解中保存了如上的相关信息以便在下次资源变动时进行版本比对。

管理资源注解

annotation可在资源创建时使用“metadata.annotations”字段指定,也可随时按需在活动的资源上使用“kubectl annotate”命令进行附加。比如为pod-example重新进行注解:

kubectl annotate pods pod-example ilinux.io/created-by=“cluster admin”
pod “pod-example” annotated

  查看生成的注解信息:

kubectl describe pods pod-example | grep “Annotations”
Annotations: ilinux.io/created-by=cluster admin

  如果需要在资源创建时的清单中指定,那么使用类似如下的方式即可:

apiVersion:v1
kind:Pod
metadata:
name:pod-example
annotations:
ilinux.io/created-by:cluster admin
spec:
···

  

Kubernetes--资源注解的更多相关文章

  1. kubernetes系列06—kubernetes资源清单定义入门

    本文收录在容器技术学习系列文章总目录 1.认识kubernetes资源 1.1 常用资源/对象 workload工作负载型资源:pod,ReplicaSet,Deployment,StatefulSe ...

  2. (四)Kubernetes 资源清单定义

    Kubernetes常用资源对象 依据资源的主要功能作为分类标准,Kubernetes的API对象大体可分为五个类别,如下: 类型 名称 工作负载(Workload) Pod.ReplicaSet.D ...

  3. 5、kubernetes资源清单定义入门

    使用配置清单创建资源 定义pod时使用yaml格式 master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE client / Error 1 ...

  4. 容器编排系统之K8s资源标签、标签选择器、资源注解

    前文我们聊到了使用k8s资源配置清单定义资源的相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14132890.html:今天我们来聊下资源标签,标签选 ...

  5. 第15章: Prometheus监控Kubernetes资源与应用

    Prometheus监控Kubernetes资源与应用 目录 1 监控方案 2 2 监控指标 4 3 实现思路 4 4 在K8S中部署Prometheus 4 5 在K8S中部署Grafana与可视化 ...

  6. 使用kubesql进行kubernetes资源查询

    kubesql kubesql(https://github.com/xuxinkun/kubesql)是我最近开发的一个使用sql查询kubernetes资源的工具.诸如node,pod等kuber ...

  7. android 中的一些资源注解,让编译器帮你检查代码

    android 中的一些资源注解,让编译器帮你检查代码 写方便的时候可以用注解来声明一些参数,以明确的指示参数的类型,让代码更安全.我们看到,在android源代码里大量使用了注解.我整理了一些注解如 ...

  8. 新手学习FFmpeg - 如何编写Kubernetes资源文件

    Kubernetes API的使用方式 Kubernetes API属于声明式API编程, 它和常用的命令式编程有一些区别. 通俗的说,命令式编程是第一人称,我要做什么,我要怎么做. 操作系统最喜欢这 ...

  9. 深入理解 Kubernetes 资源限制:CPU

    原文地址:https://www.yangcs.net/posts/understanding-resource-limits-in-kubernetes-cpu-time/ 在关于 Kubernet ...

  10. kubefuse 让Kubernetes 资源成为fuse 文件系统

    kubefuse 是基于fuse 开发的文件系统,我们可以像访问文件系统一样访问Kubernetes 资源,使用python开发 支持以下特性: 可以使用方便的linux tools: ls. vim ...

随机推荐

  1. org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter异常

    转:https://blog.csdn.net/u010670689/article/details/40301043 使用maven开发web应用程序, 启动的时候报错: jar not loade ...

  2. QQ、微信、微博、空间等分享链接接入

    一.HTMl代码 1.隐藏标签用于获取信息 <img style="display:none" id="coverImage" src="@it ...

  3. java_web案例文件下载案例

    目的:完成javaweb的文件下载 <!--如果想要一个a标签点击后不论文件类型,都需要弹出下载,保存框:--><!--我们就需要创建一个servlet,让这个a标签指向servle ...

  4. Javaweb-Tomcat(安装+配置环境)

    Tomcat跟着教程,但是在bin目录下点击startup只能闪退的总结 1.先下载 直接搜tomcat下载就可以了(free) 2.解压到你想要的文件中 3.直接进入bin目录,找startup.b ...

  5. .net core 删除指定路径下的所有文件以及文件夹(文件夹建议保留目录)

    1.服务层 /// <summary> /// 删除指定路径下的所有文件 /// </summary> /// <param name="filepath&qu ...

  6. GMAC网卡相关介绍与分析

    GMAC网卡相关介绍与分析 目录 GMAC网卡相关介绍与分析 环境描述 MII MII RMII GMII RGMII SGMII GMAC网卡信息获取方法 获取GMAC网卡信息 查看PHY工作接口模 ...

  7. JZOJ 5843.B

    \(Description\) 给定 \(n\) 个正整数序列 ,每个序列长度为 \(m\). 选择至少 \(1\) 个序列,在每个被选择的序列中选择一个元素,求出所有被选择的元素的 \(\gcd\) ...

  8. Linux快照利器:Timeshift,备份和还原效果杠杠的

    转载csdn:Linux快照利器:Timeshift,备份和还原效果杠杠的_网络技术联盟站-CSDN博客

  9. JSTL 报错 TagLibraryValidator

    今天想要在 JSP 页面上用 JSTL 简化操作,发现导入 jstl.standard 包报错了.我是按照菜鸟上的教程来的.我的 Tomcat 版本是 10.0,之后发现 10.0 版本的 Tomca ...

  10. 【必看】RuoYiVuek框架-数据源动态新增、配置如此简单!

    应用场景 系统用户只能访问系统配置的数据源(可动态新增修改的) RuoYi Vue 框架源码 点我跳转 实现方式 1.系统提供 Yml文件配置 + Druid加载数据源 + @DataSource注解 ...