k8s字段选择器

news/2024/11/15 11:30:17/文章来源:https://www.cnblogs.com/misakivv/p/18300944

目录
  • 一、概述
  • 二、基本语法
  • 三、支持的字段
    • 1、错误示例
    • 2、支持的字段列表
  • 四、支持的操作符
    • 1、示例
  • 五、跨多种资源类型使用字段选择器

一、概述

在Kubernetes中,字段选择器(Field Selectors)和标签选择器(Label Selectors)是两种不同的查询机制,用于过滤和选择特定的资源。字段选择器允许用户根据资源的内部字段来过滤资源,这些字段可以是资源的状态、元数据等。通过字段选择器,用户可以精确地选择出满足特定条件的资源,进而对这些资源执行进一步的操作,如查看、删除等。

二、基本语法

kubectl get --field-selector <key>([<operator>][<value>])
  • 使用 kubectl get 命令加上 --field-selector 选项来指定字段选择器。

  • 字段选择器的格式为 =,其中 是资源的字段名, 是要匹配的值。

  • 可以使用多个字段选择器,用逗号分隔。

三、支持的字段

不同的 Kubernetes 资源类型支持不同的字段选择器。 所有资源类型都支持 metadata.namemetadata.namespace 字段。 使用不被支持的字段选择器会产生错误。

1、错误示例

kubectl get ingress --field-selector foo.bar=baz

image-20240713215233430

2、支持的字段列表

类别 字段
Pod spec.nodeName spec.restartPolicy spec.schedulerName spec.serviceAccountName spec.hostNetwork status.phase status.podIP status.nominatedNodeName
Event involvedObject.kind involvedObject.namespace involvedObject.name involvedObject.uid involvedObject.apiVersion involvedObject.resourceVersion involvedObject.fieldPath reason reportingComponent source type
Secret type
Namespace status.phase
ReplicaSet status.replicas
ReplicationController status.replicas
Job status.successful
Node spec.unschedulable
CertificateSigningRequest spec.signerName

四、支持的操作符

  • 等于(= 或 ==):选择字段值等于指定值的资源。
  • 不等于(!=):选择字段值不等于指定值的资源。
  • 基于集合的操作符 (in、notin、exists)不支持字段选择算符。

1、示例

kubectl get pods -A --field-selector=status.phase!=Running
#查询集群中所有非运行状态的Pods

image-20240713220455588

kubectl get pods -A --field-selector=status.phase=Running,spec.restartPolicy=Always
#查询集群中所有处于运行状态(Running)并且重启策略设置为Always的Pods

image-20240713221657491

多个字段选择器可以通过使用逗号分隔的列表组成一个选择链

五、跨多种资源类型使用字段选择器

kubectl get statefulsets,services --all-namespaces --field-selector metadata.namespace!=default
#查询集群中除default命名空间之外的所有命名空间内的StatefulSets和Services资源。

image-20240713222110941

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/743311.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

three.js+vue污水处理厂数字孪生平台智慧城市web3d

案例效果截图如下: 主场景三维逻辑代码如下:<template><div class="whole"><!-- threejs画布 --><div id="threejs" ref="threejs"></div><!-- 污水厂模型加载进度条 --><a-progress:stroke-color=&quo…

反射DLL注入原理解析

反射 DLL 注入又称 RDI,与常规 DLL 注入不同的是,它不需要 LoadLibrary 这个函数来加载 dll,而是通过 DLL 内部的一个函数来自己把自己加载起来,这么说可能会有一点抽象,总之这个函数会负责解析DLL文件的头信息、导入函数的地址、处理重定位等初始化操作,先不用理解这个函…

Neo4j:图数据库的革命性力量

Neo4j 首席技术官 @prathle 撰写了一篇出色的博文,总结最近围绕 GraphRAG 的热议、我们从一年来帮助用户使用知识图谱 + LLM 构建系统中学到的东西,以及我们认为该领域的发展方向。Neo4j一时间又大火起来,本文将带你快速入门这神奇的数据库。前言 Neo4j是一款符合ACID标准的…

Linux常用文件操作命令

本章将和大家分享Linux常用的文件操作命令。本章将和大家分享Linux常用的文件操作命令。废话不多说,下面我们直接进入主题。 一、目录切换(cd命令) 在Linux系统中,cd 是一个用于切换当前工作目录的命令,它是 "change directory" 的缩写。基本用法如下所示: 1、…

Windows10下的docker容器启动命令docker -v相对路径的挂载目录位置

今天研究docker容器时,启动命令使用到了docker -v test:/app/backend/data 有个从宿主机写入文件到容器这个目录的需求,于是就尝试在宿主机上找到这个test目录 找了一圈都没找到,于是四处搜索,终于在stackoverflow上面找到了 https://stackoverflow.com/questions/61083772…

基于GA遗传优化算法的Okumura-Hata信道参数估计算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印):2.算法涉及理论知识概要遗传算法(Genetic Algorithm, GA)是一种模拟自然界生物进化过程的全局优化搜索算法,由John Holland于1975年提出。它利用达尔文的自然选择和遗传学原理,通过选择、交叉、变异等操作…

LTPSICE 小知识

1、初值设置:

软件工程进度报告——第二周

本周总结: 本周学习了Java语言的开发软件jdk的下载安装和使用方法,java代码的简单编写 1.下载安装jdk jdk需要在Oracle官网下载,下载地址:www.oracle.com下载时只需选择对应系统的安装包安装即可 2.jdk的安装目录 bin:该路径下存放了各种工具命令,其中比较重要的有:javac…

2024.07.13hadoop总结

hadoop基础概念学习在这之前并不了解hadoop,甚至没怎么听人提起过,直到学习大数据技术需要hadoop和python才开始学习。 hadoop的概念还没有完全了解完全,但是它的核心是处理和存储大数据,需要在虚拟机上面进行系统的测试

2024暑假第二周总结

运算符总结 对字面量或者变量进行操作的符号 算数运算符 加 减 乘 除 取模 取余 加减乘 public class yunsuanfu {public static void main(String[] args) {//+System.out.println(3+2);//5//-System.out.println(3-2);//1//*System.out.println(2*2);//4//如果计算的时候有小…

周总结

这周主要练习springboot3+vue3,开发大事件系统,Hadoop还未开始学,计划完成大事件开发后冲击Hadoop,在这里主要说一下我后端的开发心里路程吧。 Spring Boot 是一种基于 Spring 框架的开发工具,它旨在简化 Spring 应用程序的开发和部署过程。作为一名后端开发人员,我对 Sp…