Kubernetes 无法应用此选项!使用JSONPath查询获取无污染节点的not运算符
我正试图根据一些条件(例如,是否存在污染)获取Kubernetes群集节点的列表。我有3个节点集群(1个主节点和2个工作节点)。我需要得到2个工作节点的名称,因为污染在主节点上。我被困在这里,因为我得到了相反的结果,即能够获得带有污染(主)的节点。请帮忙帮我把!运算符,这样我只能得到没有任何污染的节点 这是我到目前为止的JSONPath查询:-Kubernetes 无法应用此选项!使用JSONPath查询获取无污染节点的not运算符,kubernetes,jsonpath,json-path-expression,Kubernetes,Jsonpath,Json Path Expression,我正试图根据一些条件(例如,是否存在污染)获取Kubernetes群集节点的列表。我有3个节点集群(1个主节点和2个工作节点)。我需要得到2个工作节点的名称,因为污染在主节点上。我被困在这里,因为我得到了相反的结果,即能够获得带有污染(主)的节点。请帮忙帮我把!运算符,这样我只能得到没有任何污染的节点 这是我到目前为止的JSONPath查询:- vagrant@mykubemaster:~$ kubectl get nodes NAME STATUS ROLES
vagrant@mykubemaster:~$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
mykubemaster Ready control-plane,master 12d v1.20.1
mykubenode01 Ready <none> 12d v1.20.1
mykubenode02 Ready <none> 12d v1.20.1
vagrant@mykubemaster:~$ kubectl get nodes -o=jsonpath='{$.items[?(@.spec.taints)].metadata.name}'
mykubemastervagrant@mykubemaster:~$
vagrant@mykubemaster:~$kubectl获取节点
姓名状态角色年龄版本
mykubemaster就绪控制平面,master 12d v1.20.1
mykubenode01 Ready 12d v1.20.1
mykubenode02 Ready 12d v1.20.1
vagrant@mykubemaster:~$kubectl get nodes-o=jsonpath='{$.items[?(@.spec.taints)].metadata.name}'
mykubemastervagrant@mykubemaster:~$
Kubernetes/kubectl正在使用(遗憾的是)不支持带否定的路径筛选器表达式的;事实上,许多实现不支持以下语法:
$[?(!(@.key==42))]
见下文:
- &