如何解析kubectl描述输出并获得所需的字段值



我正试图使用kubectl describe命令从特定的pod中获取Nodeport。我从这个问题中知道,-o选项不适用于描述,因此我正在尝试以下方法,但我没有得到所需的值,有人能纠正我吗?

kubectl -n core describe svc/pg-debug
Name:                     pg-debug
Namespace:                core
Labels:                   <none>
Annotations:              <none>
Selector:                 app=postgresql-default
Type:                     NodePort
IP:                       172.17.17.19
Port:                     <unset>  5432/TCP
TargetPort:               5432/TCP
NodePort:                 <unset>  24918/TCP
Endpoints:                172.16.90.10:5432
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

以下是我试图获得值"24918"的命令

kubectl -n core describe svc/pg-debug | grep NodePort |awk -F:  '/nodePort/{gsub(/ /,"",$2)}'

您可以使用以下命令从服务获取nodePort

kubectl get svc pg-debug -n core -o jsonpath='{.spec.ports[].nodePort}'

参考:

  • https://kubernetes.io/docs/reference/kubectl/jsonpath/
  • https://kubernetes.io/docs/reference/kubectl/cheatsheet/
  • 另请参见:https://github.com/kubernetes/kubectl/issues/25

相关内容

  • 没有找到相关文章

最新更新