gpt4 book ai didi

kubectl - 如何使用 kubectl -o jsonpath 仅检索 kubectl.kubernetes.io/last-applied-configuration?

转载 作者:行者123 更新时间:2023-12-04 01:08:55 28 4
gpt4 key购买 nike

我正在尝试使用 kubectl -o jsonpath 从服务 yaml(在元数据注释下)检索 kubernetes last-applied-configuration,但该字段的名称是“kubectl.kubernetes.io/last-applied-configuration”。我相信解析器会因为实际名称字段中的点而感到困惑,因为它使用点来指定子对象。

例如(在 Windows 上运行)

kubectl -lapp=myapp get service -o jsonpath="{range .items[*]}{
.metadata.annotations}{\"\n\"}{end}"

按预期显示结果值的映射
map[kubectl.kubernetes.io/last-applied-configuration:{"kind":"Service","apiVersion":"v1","metadata":{"name":"myapp","namespace":"mynamespace",
"creationTimestamp":null,"labels":{"app":"myapp","version":"1.0"}},"spec":{"ports":[{"name":"http","protocol":"TCP","port":80,"ta
rgetPort":8080}],"selector":{"app":"myapp","version":"1.0"},"type":"NodePort"},"status":{"loadBalancer":{}}}]

在这种情况下, kubectl.kubernetes.io/last-applied-configuration 是注释中唯一的内容,但情况并非总是如此。

当我尝试深入到最后应用的配置时,问题就出现了。

例如
kubectl -lapp=myapp get service -o jsonpath="{range .items[*]}{
.metadata.annotations.kubectl.kubernetes.io/last-applied-configuration}{\"\n\"}{end}"

不返回任何信息。

我也试过
kubectl -lapp=myapp get service -o jsonpath="{range .items[*]}{
.metadata.annotations['kubectl.kubernetes.io/last-applied-configuration']}{\"\n\"}{end}"


kubectl -lapp=myapp get service -o jsonpath="{range .items[*]}{['metadata']['annotations']['kubectl.kubernetes.io/last-applied-configuration']}{\"\n\"}{end}"

无济于事。

我期望结果只是 kubectl.kubernetes.io/last-applied-configuration 的值

最佳答案

kubectl apply view-last-applied service -lapp=myapp -o json

关于kubectl - 如何使用 kubectl -o jsonpath 仅检索 kubectl.kubernetes.io/last-applied-configuration?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56117950/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com