Labels

Labels 是一对 key/value,被关联到对象上,标签的使用我们倾向于能够标示对象的特殊特点,并且对用户而言是有意义的(就是一眼就看出了这个 Pod 是什么数据库),但是标签对内核系统是没有直接意义的。

标签可以用来划分特定组的对象(比如,所有 带把儿 的),标签可以在创建一个对象的时候直接给与,也可以在后期随时修改。

每一个对象可以拥有多个标签,但是,key 值必须是唯一的。

"labels":{"key1": "value1","key2": "value2"
}

使用标签组织 pod

标签是一个功能强大的 k8s 特性,不仅可以组织 pod,也可以组织所有其他的 k8s 资源。

金丝雀发布(也叫灰度发布):是指在部署新版本时,先只让一小部分用户体验 新版本以观察新版本的表现,然后再向所有用户进行推广,这样可以防 止暴露有问题的版本给过多的用户。

例如在灰度测试的使用场景中:

apiVersion: v1
kind: Pod
metadata:name: kubeia-manual-v2labels:creation_method: manual  <-- 标签env: prod  <-- 第二个标签
...

常用命令

//为 pod 添加一个标签
kubectl label po pod_name label_name=label_value
//更改 pod 标签的值
kubectl label po pod_name label_name=label_new_value //列出标记了 label_name:label_value 的 pod
kubectl label po -l label_name=label_value
//列出包含 env 标签的所有 pod
kubectl label po -l env
//列出没有 env 标签的 pod
kubectl label po -l '!env' //也可以将pod与以下标签选择器进行匹配
creation_method!=manual 选择带有creation_method 标签,并且值不等于 manual 的 pod
env in(prod,devel)选择带有 env 标签且值为 prod 或 devel 的 pod
env notin(prod,devel)选择带有 env 标签,但其值不是 prod 或 devel 的 pod//使用多个条件
app=pc,rel=beta  // 用逗号分隔

使用标签分类 工作节点

pod 并不是唯一可以附加标签的 k8s 资源,标签可以附加在任何 k8s 对象上,包括节点。

//查看现有 node 及 label
kubectl get nodes --show-labels//为节点添加 gpu:true 标签
kubectl label node node_name gpu=true//筛选带某一标签的节点
kubectl get nodes -l gpu=true//删除 label
kubectl label nodes <node-name> <label-key>-
//删除key为disktype的label
kubectl label nodes node01 disktype-//修改 label 的值
kubectl label nodes <node-name> <label-key>=<label-value> --overwrite
kubectl label nodes node01 disktype=hdd --overwrite

将 pod 调度到特定节点

使用标签选择器可以将 pod 调度到特定节点:yaml 文件:

apiVersion: v1
kind: Pod
metadata:name: kubia-gpu
spec:nodeSelector:   <--节点选择器,将 pod 部署到包含 gpu=true 标签的节点上gpu: truecontainers:- image: lukas/kubianame: kubia

如果不存在带 gpu=true 标签的 node,那么该 pod 将无法被调度执行。

END

k8s Labels 和 Selectors相关推荐

  1. 容器编排技术 -- Kubernetes Labels 和 Selectors

    容器编排技术 -- Kubernetes Labels 和 Selectors 1 Motivation 2 语法和字符集 3 Labels选择器 3.1 Equality-based require ...

  2. k8s - labels 标签介绍

    Labels labels标签,在kubernetes我们会经常见到,它的功能非常关键,就相关于服务pod的身份证信息,如果我们创建一个deployment资源,它之所有能守护下面启动的N个pod以达 ...

  3. javaweb k8s_K8S微服务核心架构学习指南 ASP.NET Core微服务基于K8S 架构师必备Kubernetes教程...

    K8S微服务核心架构学习指南 ASP.NET Core微服务基于K8S 架构师必备Kubernetes教程 课程内容是关于Kubernetes微服务架构学习课程,基于K8S开展ASP.NET核心进行微 ...

  4. K8S+Harbor+gluster+haproxy 实践加坑

    K8S+Harbor+gluster+haproxy 实践加坑 ​ -阿特&Max Shen 半年未有blog,今日归来玩开源.莫问英雄归路,青山绿水总相逢. 一切缘起都是因为devops, ...

  5. Day442443444445446447448.K8s -谷粒商城

    K8s 分布式编排管理集群的系统 一.K8s快速入门 1.简介 kubernetes简称k8s.是用于自动部署,扩展和管理容器化应用程序的开源系统. 中文官网:https://kubernetes.i ...

  6. k8s部署zookeeper集群 运行 ZooKeeper, 一个 CP 分布式系统

    本教程展示了在 Kubernetes 上使用 StatefulSets,PodDisruptionBudgets 和 PodAntiAffinity 特性运行 Apache Zookeeper. 准备 ...

  7. zookeeper和k8s_Kubernetes(k8s)运行ZooKeeper,一个分布式系统协调器

    运行ZooKeeper,一个分布式系统协调器 目标 在本教程之后,您将了解以下内容. 如何使用StatefulSet部署ZooKeeper集合. 如何使用ConfigMaps一致地配置集合. 如何在集 ...

  8. 4.K8s组件的使用

    01 Controllers 官网:https://kubernetes.io/docs/concepts/workloads/controllers/ ReplicationController(R ...

  9. 【kubernetes/k8s概念】Kubernetes1.12从零开始(初):课程介绍与官方文档汇总

    说明 资料和交流方式 Kubernetes的文档介绍 Kubernetes中的术语与资源的操作方法 Kubernetes的API约定与启用方法 Kubernetes中资源(Object)的定义 kub ...

最新文章

  1. self.opener 和 self.parent
  2. 高校老师暑假狂补AI课背后:AI人才培养竞赛开跑
  3. Mysql索引会失效的几种情况分析
  4. c语言 二进制输出_程序员入门C语言,需要掌握的4个基础知识
  5. python3精要(27)-*与**解包
  6. 2262: master(vector + dfs)
  7. spark 存储机制详解
  8. 【Java并发编程】java并发框架Executor学习笔记
  9. ADBPGGreenplum成本优化之磁盘水位管理
  10. python函数实例化_用Python实例化函数
  11. Kylin修改默认hbase namespace命名空间default的解决方案
  12. 计算机基础知识贾辉,《计算机基础知识》读后感
  13. hadoop2.8配置_hadoop2.8安装教程
  14. 美团/饿了么外卖返利小程序+公众号PHP三级分销源码下载
  15. NCPC 2015 - Problem A - Adjoin the Networks
  16. Vuex 之二:3种拿到 state 中数据并执行 getters 中方法的过程与实例剖析
  17. 区块链如何改变供应链金融
  18. 解决Windows电脑自带的画图工具无法打开png文件的问题
  19. 2022寒假day3
  20. [翻译角]Headline English: A Captain Should Be Pitch Perfect at a Multitude of Skills (ESLPOD Blog)...

热门文章

  1. python xlrd 拆分已合并的单元格
  2. 05 Go处理错误--Handing Error
  3. RoboMaster遥控器数据解析
  4. 运动控制卡应用开发教程之LabVIEW
  5. 在 GitLab 中自动统计代码行数
  6. ppt超链接打不开c语言程序,c语言课程第5讲超链接.ppt
  7. input类型为 file 的相关知识点总结和使用
  8. 400页PPT,讲清ChatGPT前世今生与1200+个AI工具大全
  9. 清亡之路(7):保路运动和武昌起义
  10. 算法设计与分析----二分搜索(递归)