检索 pods 名称、关联的图像和标签属性

Retriving the pods name , the associated images and a label attribute

我知道我可以通过以下方式获得 pods:

kubectl get pods -n "namespace",  and also to retrieve a json output

我正在尝试扩展以获取 pods 名称、关联的图像和名为 'base' 的标签属性。也是我检索此信息的日期。

您可以尝试 jsonpath 来检索 json 输出的值。

kubectl get po --all-namespaces -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.containers[0].image}{"\t"}{.metadata.labels.k8s-app}{"\n"}{end}'

也许您可以编写 shell 脚本来实现它。首先尝试使用以下方法获取所有命名空间中的所有 运行 pods:

kubectl get pods -all-namespaces

然后遍历每个 pod 并执行以下命令:

kubectl describe pods <name of pod>

在 describe 命令中,您可以获得您正在寻找的所有信息。

Here 你可以找到 kubectl get 命令的描述。 你要找的是这个:

output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].

例如:

List a pod identified by type and name specified in "pod.yaml" in JSON output format:

kubectl get -f pod.yaml -o json

使用您需要的标志进行调整。

如果有帮助,请告诉我。

您可以尝试使用 yaml 输出。

kubectl get pods --all-namespaces -o yaml| egrep "name:|image:"

这将为您提供 pod 的名称和 运行 pod 的图像。

kubectl get pods --all-namespaces -o jsonpath="{.items[*].spec.containers[*].image}"

此命令将为您提供 pods.

中的所有图像

如果你发现这很难,那么使用,

kubectl get pod --all-namespaces

检查您需要找到哪个 pods 图片然后使用,

kubectl describe pod <pod_name> -n <namespace>

参考使用Link