[英]How to get names of specific nodes depending on taints in K8s
在 kubernetes 集群中,我有几个节点,主节点和工作节点。 我想获得没有污点的节点的名称。 我知道我需要使用 jsonpath 获取它们并在其中添加条件,但不确定如何准确。 有人可以帮我解决这个问题吗? 污点在规范中,节点的名称显然在元数据中,那么我该如何处理这个任务呢?
您可以使用go-template
来执行此操作:
例子:
kubectl get node -o go-template='{{range $element := .items}}{{if (ne (len (or $element.spec.taints "")) 0)}}{{$element.metadata.name}}{{"\n"}}{{end}}{{end}}'
以更易读的格式:
kubectl get node -o go-template='{{ range $element := .items }}
{{- if (ne (len (or $element.spec.taints "")) 0) -}}
{{ $element.metadata.name}}{{"\n"}}
{{- end -}}
{{ end }}'
工作:
range,
我们将遍历项目。 在这种情况下,它是节点。len
function,我们将计算包含所有污点的列表的长度。len
function 中使用or
将其默认为“0”。ne
) 为零,则打印元素名称(即节点名称)ne
flip
为eq
以扭转行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.