我是靠谱客的博主 俊逸冥王星,最近开发中收集的这篇文章主要介绍kubernetes的标签和标签选择器标签标签选择器针对标签和标签选择器的操作命令和示例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

标签

标签( Labels ) 是附加到 Kubernetes 对象(比如 Pods)上的键值对。 标签旨在用于指定对用户有意义且相 关的对象的标识属性,但不直接对核心系统有语义含义。 标签可以用于组织和选择对象的子集。标签可以在创建时附 加到对象,随后可以随时添加和修改。每个对象都可以定义一组键 / 值标签。每个键对于给定对象必须是唯一的

标签选择器

通过 标签选择算符,客户端 / 用户可以识别一组对象。标签选择算符是 Kubernetes 中的核心分组原语。API 目前支持两种类型的选择算符:基于等值的 和 基于集合的。
标签选择算符可以由逗号分隔的多个需求组成。 在多个需求的情况下,必须满足所有要求,因此逗号分隔符充当逻辑 与( && )运算符。

基于等值的

基于等值 或 基于不等值 的需求允许按标签键和值进行过滤。匹配对象必须满足所有指定的标签约束,尽管它们也可能具有其他标签。可接受的运算符有 = == != 三种。前两个表示 相等(并且只是同义词),而后者表示不相等。例如
#格式
environment = production 
tier != frontend

#yaml文件格式
  selector:
    matchLabels:
      k8s-app: metrics-server
      version: v0.3.6

基于集合的

基于集合 的标签需求允许你通过一组值来过滤键。支持三种操作符: in notin exists ( 只可以用在键标识符上)。
#基于集合的格式
environment in (production, qa) 
tier notin (frontend, backend) 
partition 
!partition
#yaml格式引用
matchExpressions: 
  - key: kubernetes.io/hostname
    operator: NotIn
    values: 
      - xuh04
      - k8s-node02
  - key: environment
    operator: NotIn
    values: dev

针对标签和标签选择器的操作命令和示例

#给节点打标签
kubectl label node k8s-worker02 disk=ssd
#给service打标签
kubectl label service my-nginx app=nginx
#给pod打多个标签
kubectl label pod my-nginx app=nginx env=test
#删除标签
kubectl label node k8s-worker02 disk-
#修改标签
kubectl label pod my-nginx app=web --overwrite
#根据标签进行过滤
kubectl get pods -l app=nginx
kubectl get pod -l "app in (web,nginx)" --show-labels
kubectl get pod -l app
#当标签较多时,也可以使用 -L 来指定显示那些标签
kubectl get pods -L app
#显示对应资源的所有标签
kubectl get svc my-nginx --show-labels

最后

以上就是俊逸冥王星为你收集整理的kubernetes的标签和标签选择器标签标签选择器针对标签和标签选择器的操作命令和示例的全部内容,希望文章能够帮你解决kubernetes的标签和标签选择器标签标签选择器针对标签和标签选择器的操作命令和示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部