k8s的label和selector

在Kubernetes中,label和selector是两个重要的概念,它们一起用于实现资源对象的关联和调度。

label

  1. 创建label

有两种方式创建label:

  • 在配置文件中指定label标签
  • 使用kubectl label命令
    • 临时创建label

      kubectl label po 资源名字 app=hello//定义的label -n kube-public //对应的命名空间
    • 修改已经存在的label

      kubectl label po 资源名字 app=hello2 kube-public --overwrite
[root@master python]# kubectl get po --show-labels
NAME READY STATUS RESTARTS AGE > LABELS
my-pod 1/1 Running 0 4h21m > app=my-app
nginx-demo 1/1 Running 1 (4h42m ago) 8h > test=1.0.0,type=app
nginx-po 1/1 Running 1 (4h42m ago) 8h > test=1.0.0,type=app
[root@master python]# kubectl label po nginx-po author=hmm
pod/nginx-po labeled
[root@master python]# kubectl get po --show-labels
NAME READY STATUS RESTARTS AGE > LABELS
my-pod 1/1 Running 0 4h22m > app=my-app
nginx-demo 1/1 Running 1 (4h44m ago) 8h > test=1.0.0,type=app
nginx-po 1/1 Running 1 (4h44m ago) 8h > author=hmm,test=1.0.0,type=app
[root@master python]# kubectl label po nginx-po > author=mmmm --overwrite
pod/nginx-po labeled
[root@master python]# kubectl get po nginx-po --show-labels
NAME READY STATUS RESTARTS AGE LABELS
nginx-po 1/1 Running 1 (4h45m ago) 8h > author=mmmm,test=1.0.0,type=app

deployment的label,service的label,namespace的label,如果是临时label的话,更新模版的时候,会被删除掉。

selectora

selector是label的筛选条件,通过selector,可以筛选出符合label条件的资源对象。

[root@master python]# kubectl get po -A -l type=app
NAMESPACE NAME READY STATUS RESTARTS AGE
default nginx-demo 1/1 Running 1 (4h50m ago) 8h
default nginx-po 1/1 Running 1 (4h50m ago) 8h
[root@master python]# kubectl get po -A -l type=app --show-labels
NAMESPACE NAME READY STATUS RESTARTS AGE LABELS
default nginx-demo 1/1 Running 1 (4h51m ago) 8h test=1.0.0,type=app
default nginx-po 1/1 Running 1 (4h51m ago) 8h author=mmmm,test=1.0.0,type=app
[root@master python]#

k8s——pod(label和selector)的更多相关文章

  1. k8s中label和selector的基本概念以及使用方法

    概述 在k8s中有一个非常核心的概念,就是label(标签),以及对label的使用,label selector label(标签) 定义:   标签这个概念和现实生活中的标签其实没有什么区别,如, ...

  2. k8s pod的4种网络模式最佳实战(externalIPs )

    [k8s]k8s pod的4种网络模式最佳实战(externalIPs )       hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm ...

  3. k8s pod节点调度及k8s资源优化

    一.k8s pod 在节点间调度控制 k8s起pod时,会通过调度器scheduler选择某个节点完成调度,选择在某个节点上完成pod创建.当需要在指定pod运行在某个节点上时,可以通过以下几种方式: ...

  4. 影响K8S Pod分配和调度策略的两大关键特性

    在Kubernetes中有一个最复杂的调度器可以处理pod的分配策略.基于在pod规范中所提及的资源需求,Kubernetes调度器会自动选择最合适的节点来运行pod. 但在许多实际场景下,我们必须干 ...

  5. kubectl cp 从k8s pod 中 拷贝 文件到本地

    请查看官方的说明 kubectl cp --help 官方说使用cp , pod里需要有tar命令 从k8s pod 中 拷贝 文件到本地 这是我使用的命令 kubectl exec redis-6c ...

  6. 9.1 k8s pod版本更新流程及命令行实现升级与回滚

    1.创建 Deployment root@k8-deploy:~/k8s-yaml/controllers/deployments# vim nginx-deployment.yaml apiVers ...

  7. k8s中label和label selector的基本概念及使用方法

    1.概述 在k8s中,有一个非常核心的概念,就是label(标签),以及对label的使用,label selector. 本文档中,我们就来看看:1.什么是标签,2.如何定义标签,3.什么是标签选择 ...

  8. k8s通过label来控制pod的位置

    默认情况下,scheduler会将pod调度到所有可用的Node,不过有些情况我们希望将 Pod 部署到指定的 Node,比如将有大量磁盘 I/O 的 Pod 部署到配置了 SSD 的 Node:或者 ...

  9. k8s pod 在迁移zookeeper时出现的问题

    一次迁移中出现的问题,因为要搬迁机房,集群中的节点服务器分布在两个机房,通过专线打通了,现在需要整体都迁移到其中一个机房,所以pod要进行迁移,机器资源也比较紧张,在迁移中zookeeper迁移出现问 ...

  10. k8s Pod的自动水平伸缩(HPA)

    我们知道,当访问量或资源需求过高时,使用:kubectl scale命令可以实现对pod的快速伸缩功能 但是我们平时工作中我们并不能提前预知访问量有多少,资源需求多少. 这就很麻烦了,总不能为了需求总 ...

随机推荐

  1. 腾讯音乐:说说Redis脑裂问题?

    Redis 脑裂问题是指,在 Redis 哨兵模式或集群模式中,由于网络原因,导致主节点(Master)与哨兵(Sentinel)和从节点(Slave)的通讯中断,此时哨兵就会误以为主节点已宕机,就会 ...

  2. (节流)js防止重复频繁点击或者点击过快方法

    1.方法一:用定时器定时,没跑完定时器,点击按钮无效 <script> var isClick = true; $("button").on("click&q ...

  3. 牛客网-SQL专项训练24

    ①下列选项关于游标的作用叙述正确的是(D) 解析: 游标是一种从包括多条数据记录的结果集中每次提取一条记录以便处理的机制,可以看做是查询结果的记录指针.游标与视图类似,也是基于基表的临时表对象,也能够 ...

  4. 如何做好技术 Team Leader?

    简介: 作为一个技术TL(Team Leader),除了自身技能,还会面临诸多团队管理上的困难和挑战.如何定义和明确团队的目标?怎样建立优秀的工程文化?让团队长期发挥战斗力和创新能力的核心是什么?本文 ...

  5. [FAQ] mogodb Robo3T 客户端全屏后 怎么退出全屏

    mongodb 的 Robo3T 客户端: 如果是不小心全屏了,不用担心,按 F11 恢复. 如果想要全屏,也是按 F11. Link:https://www.cnblogs.com/farwish/ ...

  6. [Go] golang 替换组件包 更新 go.mod, go.sum 的方式

    当我们不再使用某个包,或者包名变更时,是如何保证 go.mod 更新的. 只要代码中没有地方 import 使用到某个包了,我们运行: $ go mod tidy module 管理器会帮我们自动清理 ...

  7. c++图像处理程序编译成.so动态链接库供Java调用(包含jni文件与引用第三方动态链接库opencv)

    一.linux编译so文件需要准备的环境 1.安装JDK(注意:不能安装openjdk,因为openjdk没有include目录,编译时需要用到include目录的头文件) 2.安装gcc和g++   ...

  8. js的几个截取

    jsfun(){         let str = '01234567'         let str1         str1 = str.slice(2,5)                 ...

  9. XYCTF pwn部分题解 (部分题目详解)

    hello_world(签到) 思路: 这道题就是利用printf函数泄露libc的基地址,然后再次进行栈溢出通过system,/bin/sh来获取shell wp: invisible_flag 思 ...

  10. 9.3K+ Star!一个面向中小型企业设计的开源运维平台!

    大家好,我是Java陈序员. 我们在日常开发中,会有很多的应用环境,开发环境.测试环境.回归环境.生产环境等等. 这些环境,需要部署在一台台的服务器上,有的可能是物理机,有的可能是云服务器. 那么,这 ...