如何使用go lang template选项过滤openshift吊舱?

问题描述 投票:0回答:1

[执行oc get pods时,您将得到如下结果

NAME                                                 READY     STATUS      RESTARTS   AGE
x-processor-v1-0-0-snapshot-12-build                 0/1       Completed   0          24d
y-processor-v1-0-0-snapshot-5-deploy                 0/1       Error       0          10d
x-processor-v1-0-0-snapshot-13-build                 0/1       Completed   0          23d

我想获得相同的输出格式,但是我需要通过仅显示具有STATUS ==错误的Pod来过滤输出。如果我需要做的就是让正在运行的Pod变得容易,那么>

oc get pods --show-all=false

我已经开始研究-o go-template选项,但是请记住,这是我第一次使用go模板。我想出的是下面的内容,但是缺少一些部分(我已经做了一个oc get pod podName -o json来查看结构并能够获取我需要的信息,但是我没有得到Ready和Age值),并且显然无法运行。如果有人可以带领我朝正确的方向前进,我将不胜感激。谢谢。

oc get pods -o=go-template=‘{{range $pod := .items}}{{println “NAME READY STATUS RESTARTS AGE”}}{{if eq $pod.status.phase == “Error”}} {{.metadata.name}}{{where to get ready field like 0/1}}{{.status.phase}}{{.status.containerStatuses.restartCount}}{{where to get age}}{{end}}’ | column -t 

[当进行oc get pods时,您将得到类似下面的结果:名称准备状态重新启动年龄x-processor-v1-0-0-snapshot-12-build ...

command-line-interface openshift
1个回答
0
投票
Go模板对于从输出中过滤代码片段很有用,但是我认为您可以使用以下方法简化此代码:
© www.soinside.com 2019 - 2024. All rights reserved.