Kubectl JSONPath用于排除数组中值包含匹配字符串的项
我正在使用Kubectl JSONPath用于排除数组中值包含匹配字符串的项,kubectl,jsonpath,Kubectl,Jsonpath,我正在使用kubectl并尝试运行kubectl get nodes并从结果中排除任何主节点。 我的最终目标是获得工作节点的IP地址列表 此命令提供所有节点的IP地址(包括主节点): 但正如我所说,我需要排除任何主节点。名称的路径为:.metadata.name。我需要从范围中排除包含文本-master-的任何.metadata.names。(更新:或者,我只能包含包含文本-worker-的内容) 我发现平等和不平等。但我似乎找不到一种方法来实现“contains”或“regex”功能 如何排除
kubectl
并尝试运行kubectl get nodes
并从结果中排除任何主节点。
我的最终目标是获得工作节点的IP地址列表
此命令提供所有节点的IP地址(包括主节点):
但正如我所说,我需要排除任何主节点。名称的路径为:.metadata.name
。我需要从范围中排除包含文本-master-
的任何.metadata.name
s。(更新:或者,我只能包含包含文本-worker-
的内容)
我发现平等和不平等。但我似乎找不到一种方法来实现“contains”或“regex”功能
如何排除与模式匹配的项目?对于这种用例,您可以使用标签选择器
因为所有主节点都有node-role.kubernetes.io/master:“
标签。可以使用它排除这些节点。使用:
kubectl get no -l node-role.kubernetes.io/master!=""
如果工作节点具有特定的标签,则可以将其用作Atlerative选择器
你正在尝试做的事情:匹配模式;内置jsonpath不可能,因为它的功能有限,但是如果您真的不喜欢标签和选择器,您可以在这个用例中使用jq
kubectl get no -l node-role.kubernetes.io/master!=""