k8s标签
一、标签是什么
标签是k8s特色的管理方式,便于分类管理资源对象。
一个标签可以对应多个资源,一个资源也可以有多个标签,它们是多对多的关系。
一个资源拥有多个标签,可以实现不同维度的管理。
可以使用标签选择器来指定能使用哪些标签。
1、标签组成
key=value
- key:只能使用 字母 数字 _ - . (只能以字母数字开头,不能超过63给字符)
- value: 可以为空 只能使用 字母 数字开头
2、定义标签
kubectl get pods --show-labels #查看pod所有标签信息
kubectl get pods -l app #过滤包含app的标签
kubectl get pods -L app #过滤包含app的标签及显示值
kubectl label pods pod-demo release=canary #给pod-demo增加标签
kubectl label pods pod-demo release=stable --overwrite #修改标签
二、标签选择器
给资源打上标签后,可以使用标签选择器过滤指定的标签
标签选择器目前有两个:基于等值关系和基于集合关系
- 等值关系操作符:=, == , !=
#使用格式
kubectl get pods -l run=myapp
kubectl get pods -l run=myapp --show-labels
kubectl get pods -l run!=client --show-labels
- 集合关系的操作符:in,notin,exists
#使用格式
kubectl get pods -l "run in (client,myapp,alpha)" --show-labels #三个值有一个匹配上都可以
kubectl get pods -l "run notin (client,myapp,alpha)" --show-labels
另外许多资源支持内嵌字段
matchLabels: 直接给定建值
matchExpressions: 基于给定的表达式来定义使用标签选择器,{key:"KEY",operator:"OPERATOR",values:[V1,V2,....]}
操作符: in notin:Values字段的值必须是非空列表 Exists NotExists: Values字段的值必须是空列表
三、小试牛刀
通过主机标签或者主机名,把pod部署到匹配的节点
1、匹配符合条件的标签,部署pod
a、给node02节点打标签,如果多个主机都有ssd标签,会随机匹配某一个
kubectl label nodes node02.linux.com disktype=ssd #给node02打上ssd标签
kubectl get nodes --show-labels
b、修改yaml文件,增加标签选择器
[root@master manifests]# cat pod-with-nodeselector.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-with-nodeselector
labels:
env: testing
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
nodeSelector:
disktype: ssd
c、创建pod,验证
kubectl create -f pod-with-nodeselector.yaml
kubectl get nodes -o wide
2、通过主机名,部署pod到指定的主机
方式一:
[root@master manifests]# cat pod-with-nodeselector.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-with-nodeselector
labels:
env: testing
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
nodeSelector:
kubernetes.io/hostname: node01.linux.com
方式二:使用sepc.nodeName
[root@master manifests]# cat pod-with-nodeselector.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-with-nodeselector
labels:
env: testing
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
nodeName: node01.linux.com
k8s标签的更多相关文章
- k8s标签label
1.给节点设置标签 一遍pod部署选择 kubectl label node 节点名 disktype=ssd kubectl label node master1 disktype=ssd 效果 [ ...
- docker+k8s基础篇三
Docker+K8s基础篇(三) kubernetes上的资源 A:k8s上的常用资源 Pod的配置清单 A:Pod上的清单定义 B:Pod创建资源的方法 C:spec下其它字段的介绍 Pod的生命周 ...
- Docker学习(十一)Docker系列结束-新的开始K8S
Docker学习(十一)Docker系列结束-新的开始K8S 标签(空格分隔): docke k8s Docker系列结束 上一篇讲到使用docker官方提供的容器编排工具docker-compose ...
- 一个请求过来都经过了什么?(Thrift版)
一.背景 最初遇到这个问题是去58面试.部门领导是原同事,所以面试比较水.水到什么程度呢? 面试就是走个形式而已,不会不过的. 一面面试官就问了一个问题:“一个请求过来都经过了什么?” 剩下的全是闲 ...
- Linux运维博客大全
系统 U盘安装Linux详细步骤_hanxh7的博客-CSDN博客_u盘安装linux 使用U盘安装linux系统 - lwenhao - OSCHINA 各厂商服务器存储默认管理口登录信息(默认IP ...
- 容器编排系统之K8s资源标签、标签选择器、资源注解
前文我们聊到了使用k8s资源配置清单定义资源的相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14132890.html:今天我们来聊下资源标签,标签选 ...
- k8s核心资源之:标签(label)
简介 label是标签的意思,一对 key/value ,被关联到对象上,k8s中的资源对象大都可以打上标签,如Node.Pod.Service 等 一个资源可以绑定任意多个label,k8s 通过 ...
- k8s 高级调度 亲和力和反亲和力、绑定标签、污点容忍污点
通过标签绑定 spec: nodeSelector: bigdata-node: bigdata containers: - env: pod只能运行在有bigdata-node: bigdata 标 ...
- K8S调度之标签选择器
Kubernetes 调度简介 除了让 kubernetes 集群调度器自动为 pod 资源选择某个节点(默认调度考虑的是资源足够,并且 load 尽量平均),有些情况我们希望能更多地控制 pod 应 ...
随机推荐
- socket关闭
首先应该了解win32 api closesocket,这里只说msdn文档中叙述不够清晰的地方. 首先说缺省情况:l_onoff为0,closesocket立刻返回,但底层依然在持续发包,并且试图优 ...
- .Net Memory Profiler入门
简介:http://www.cnblogs.com/wmlunge/archive/2013/01/08/2850809.html 实践: http://www.cnblogs.com/eaglet/ ...
- CS231n 2016 通关 第三章-SVM与Softmax
1===本节课对应视频内容的第三讲,对应PPT是Lecture3 2===本节课的收获 ===熟悉SVM及其多分类问题 ===熟悉softmax分类问题 ===了解优化思想 由上节课即KNN的分析步骤 ...
- HDLM命令dlnkmgr详解之四_monitor/offline/online
1. monitor 以一定的时间间隔监控hba或cha口的IO信息. 命令格式 监控hba口的IO信息: dlnkmgr monitor -hbaid HBA_ID [-intvl Interval ...
- 判断Integer值相等不能用==
今天在开发中判断两个Integer值相等, Integer a = 3; Duixiang duixiang = new Duixiang(); duixiang = DAO.getDuixiang( ...
- Camera.Parameters 参数 <转>
http://blog.csdn.net/aiqing0119/article/details/27680137 ------------------------------------------- ...
- 【260】centos设置root密码
怎么进Linux单用户模式 http://tieba.baidu.com/p/2216642385 http://jingyan.baidu.com/article/c1a3101ea68dafde6 ...
- JAVA基础知识总结11(异常)
异常: 就是不正常.程序在运行时出现的不正常情况.其实就是程序中出现的问题.这个问题按照面向对象思想进行描述,并封装成了对象.因为问题的产生有产生的原因.有问题的名称.有问题的描述等多个属性信息存在. ...
- ListView---复杂的listview显示
1 . 初始化数据 private void fillData() { ll_loading.setVisibility(View.VISIBLE); // 显示进度 new Thread() { p ...
- day17 12.复习
最后能抽取成word文档或者是图片之类的. 1.jdbc介绍 jdbc是一套标准,可以让我们Java程序员通过Java代码直接操作数据库,这就够了.jdbc涉及到的包两个:java.sql,java ...