我正试图使用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