首页 > 其他分享 >Kubernetes--资源注解

Kubernetes--资源注解

时间:2022-10-24 16:14:20浏览次数:44  
标签:kubectl Kubernetes -- 信息 注解 pod example 资源

资源注解

除了标签(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:
···

  

标签:kubectl,Kubernetes,--,信息,注解,pod,example,资源
From: https://www.cnblogs.com/zhangxin9/p/16821749.html

相关文章

  • postman或curl访问https域名,报错unable to verify the first certificate,支付宝支付异
    postman或curl访问https域名,报错unabletoverifythefirstcertificate,支付宝支付异步回调,https不通问题  如上述问题,网上大部分的解决方法就是关闭postman的ssl验......
  • MQTT Host name verification failure (SSL)-增加--insecure选项解决
    增加一个选项即可解决:--insecure出问题:mosquitto_pub-d-h192.168.1.10-p1883-thello-m123--cafile~/cacert.pemClientnullsendingCONNECTError:hostn......
  • 616Javascript_语法_练习_99乘法表 and
    练习9*9乘法表<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>99乘法表</title><style>td{border:1pxs......
  • 狂神说Redis学习笔记
    Redis1、NoSQL概述1.1、为什么要用Nosql1、单机MySQL的年代!90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候,更多的去使用静态网页Html~服......
  • Python基础之Python注释,变量
    注释在Python中有两种形式:单⾏注释与多行注释☆单⾏注释单⾏注释只能注释一行内容,基本语法:#注释内容☆多⾏注释多行注释可以注释多行内容,常用于代码块......
  • nexus 部署和使用
    1、部署Nexus官网下载地址https://www.sonatype.com/download-oss-sonatype需要JAVA1.8版本创建部署目录并解压mkdir/usr/local/nexustar-xvfnexus-3.25.1-04-un......
  • aria2c指定文件名批量下载
    https://segmentfault.com/a/1190000041520852按这个格式,保存到一个文件“下载链接文件.txt”点击查看代码https://***1.mp4https://***2.mp4...下载命令为:aria2c......
  • Apache Struts2远程代码执行【S2-001】
    Struts2Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是St......
  • 心跳机制解决lettuce连接池断连问题
    心跳机制Springboot项目中Redis用lettuce连接池,如果长时间不用redis的话,就会断连,可以通过用netty的心跳机制来维持连接。心跳是在TCP长连接中,客户端和服务端定时向对方......
  • Debug和Release之本质区别
    Debug 和 Release 编译方式的本质区别    Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种......