Estoy tratando de obtener la lista de mis nodos de clúster de Kubernetes en función de alguna condición, es decir, si Taint existe o no. Tengo un clúster de 3 nodos (1 maestro y 2 trabajadores). Necesito obtener los 2 nombres de nodos trabajadores ya que la contaminación está en el nodo principal. Estoy atascado aquí porque obtengo el resultado opuesto, es decir, puedo obtener el nodo con corrupción (maestro). ¡Por favor, ayúdame a ayudarme a poner! operador para que pueda obtener solo nodos sin ninguna corrupción.
Esta es mi consulta JSONPath hasta ahora: -
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:~$Kubernetes/kubectl está utilizando una implementación Go JSONPath que (lamentablemente) no admite expresiones de filtro de ruta con una negación; de hecho, muchas implementaciones no admiten sintaxis como:
$[?(!(@.key==42))]Vea estas extensas comparaciones :