标签和注释¶
标签而且注释用于将额外的元数据信息附加到Kubernetes资源。
标签和注释非常相似。它们之间的区别在于,Kubernetes使用标签来识别和选择对象,而注释则分配额外的对象非标识信息到资源。因此,annotation的典型作用是促进与一些外部工具的集成。
在自定义资源中设置标签和注释¶
控件的自定义资源元数据部分中,可以将标签和/或注释设置为键/值字符串对部署/ cr.yaml如下:
apiVersion:psmdb.雷竞技下载官网percona.com/v1种类:雷竞技下载官网PerconaServerMongoDB元数据:名字:my-cluster-name注释:雷竞技下载官网percona.com/issue-vault-token:“真正的”标签:...
检查哪些标签附加到特定对象的最简单方法是使用附加标签——show-labels选项kubectl得到命令。检查注释并不难:它可以像下面的例子那样完成:
$kubectl得到圆荚体my-cluster-name-rs0-0- ojsonpath=“{.metadata.annotations}”
使用Operator创建的对象的标签和注释¶
您可以在自定义资源的适当子节中为Operator创建的各种对象(例如用于公开集群组件的服务、持久卷声明等)分配标签和注释选项,如自定义资源选项参考和部署/ cr.yamlconfiguration file.
有时,各种Kubernetes可以向Operator管理的对象添加自己的注释。
操作符跟踪对其对象的所有更改,并可以删除在没有它参与的情况下出现的注释。
如果自定义资源公开子节中没有注释或标签,则在向对象添加新标签或注释时,操作符不执行任何操作。
如果每舱服务模式未被使用,则Operator不会删除任何注释和标签的任何相关服务这个小节.不过,在这种情况下,仍然可以通过自定义资源添加注释和标签。使用适当的expose.serviceAnnotations而且expose.serviceLabels字段。
否则,如果每舱服务模式是活动的,操作符从服务中删除未知的注释和标签由操作员为Pods创建.然而,仍然可以指定Operator应该保留(而不是删除)哪些注释和标签。将它们列在spec.ignoreAnnotations或spec.ignoreLabels字段部署/ cr.yaml,详情如下:
规范:ignoreAnnotations:-some.custom.cloud.annotation / smthignoreLabels:-some.custom.cloud.label / smth...
操作符将保留任何服务注释或标签,其中的键开始使用指定的字符串。例如,下面的注释和标签将不删除应用上述方法后cr.yaml片段:
种类:服务apiVersion:v1元数据:名字:my-cluster-name-cfg...标签:some.custom.cloud.label / smth:somethinghere...注释:some.custom.cloud.annotation / smth:somethinghere...