首页 > 其他分享 >k8s——pod(label和selector)

k8s——pod(label和selector)

时间:2024-05-22 18:54:15浏览次数:23  
标签:kubectl selector app label nginx Running pod k8s po

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]# 

标签:kubectl,selector,app,label,nginx,Running,pod,k8s,po
From: https://www.cnblogs.com/humlogs/p/18196314

相关文章

  • k8s——pod探针
    探针简单理解:容器内应用的检测机制,根据不同的探针来判断容器应用当前的状态为什么会需要探针#情况一现在有一个商品的微服务,跑着跑着突然内存溢出,程序崩掉了,外面的pod虽然在,但是也相当于挂掉了。这个时候我们,就需要重启服务。这个服务怎么启动,什么时候启动,什么状态启动......
  • k8s——pod生命周期
    图解Pod生命周期Pod的退出流程Endpoint删除pod的ip地址Pod变成Terminating状态变为删除中的状态后,会给pod一个宽限期,让pod去执行一些清理或销毁操作配置参数:作用与pod中的所有容器terminationGracePeriodSeconds:30containers://注意terminationGracePerio......
  • k8s——pod的yaml文件
    理解什么是podpod基于deployment创建,删除deployment,pod也会被删除基础pod的yaml文件的资源清单点击查看列表|参数名|类型|字段说明||-----------------------|------|-----------------------......
  • k8s——kubctl命令基础
    语法kubevtl[command][type][name][flags]command:指定要对一个或多个资源执行的操作,例如,`create`,`get`,`describe`,`delete`.type:指定资源类型。资源类型不区分大小写,可以指定单数,复数或缩写形式。kubectlgetpodpod1kubectlgetpodspod1......
  • k8s——daemonset
    daemonset为每一个匹配的node都部署一个守护进程#daemonsetnode:type=logsdaemonset选择节点-nadeSelector:只调度到匹配指定的label的node上-nodeAffinity:功能更丰富的node选择器,比如支持集合操作-podAffinity:调度到满足条件的po所在的node上daemonset的实例......
  • 微服务实践k8s&dapr开发部署实验(1)服务调用
    前置条件安装docker与dapr:手把手教你学Dapr-3.使用Dapr运行第一个.Net程序安装k8sdapr自托管模式运行新建一个webapi无权限项目launchSettings.json中applicationUrl端口改成5001,如下:"applicationUrl":"http://localhost:5001"//WeatherForecastController.......
  • k8s——statefulset
    statefulset基础模版[root@masterstatefulset]#catweb.yaml---apiVersion:v1kind:Servicemetadata:name:nginxlabels:app:nginxspec:ports:-port:80name:webclusterIP:Noneselector:app:nginx---apiVersion:apps/v1ki......
  • minikube 搭建 k8s 单机环境
    准备linux环境uname-acat/etc/os-release查看linux环境查看linux发行版本,可以在/etc目录下找到以release结尾的文件,这个一般就是记录发行版本的文件准备docker环境需要有一个镜像打包的工具安装dockersudoyuminstalldocker如果提示没有找到软件,那么需要配置一下软......
  • 从需求角度介绍PasteSpider(K8S平替部署工具适合于任何开发语言)
             你是否被K8S的强大而吸引,我相信一部分人是被那复杂的配置和各种专业知识而劝退,应该还有一部分人是因为K8S太吃资源而放手!    这里介绍一款平替工具PasteSpider,PasteSpider是一款使用c#编写的linux容器部署工具(使用PasteSpider和自己用啥语言开发没关......
  • k8s——deployment
    创建deployment[root@masterdeploy]#kubectlcreatedeploynginx-deploy--image=nginx:1.7.9deployment.apps/nginx-deploycreated//kubectlcreate资源类型资源名称(deployment的名称)指定镜像//都是在动态的更新pod副本的数量deployment和replicaSet是嵌套关......