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

时间:2018-12-07 12:37:18

标签: kubernetes kubectl

我正在尝试使用kubectl describe命令从特定的Pod中获取Nodeport。我从这个question得知-o选项不适用于describe,因此我正在尝试按照以下方式进行操作,但是我没有得到所需的值,有人可以纠正我。

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)}'

1 个答案:

答案 0 :(得分:6)

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

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