Cma*_*mag 2 google-cloud-platform kubernetes kubectl
伙计们,有没有比解析kubectl输出的输出更简单的方法来获取Kubernetes中服务的外部IP地址?
kubectl get services/foo --namespace=foo -o json
谢谢!
使用kubectl是获取服务的入口IP地址的最简单方法。如果您只想获取IP地址,则可以将大部分解析作为kubectl命令本身的一部分进行。
kubectl get svc foo -n foo \
-o jsonpath="{.status.loadBalancer.ingress[*].ip}"
Run Code Online (Sandbox Code Playgroud)
这可能不适用于您,但是某些云负载平衡器(例如AWS ELB)为您提供了主机名而不是IP地址,因此您需要查找该主机名。
kubectl get svc foo -n foo \
-o jsonpath="{.status.loadBalancer.ingress[*].hostname}"
Run Code Online (Sandbox Code Playgroud)
如果愿意,可以通过使用jsonpath联合运算符来实现两者。
kubectl get svc foo -n foo \
-o jsonpath="{.status.loadBalancer.ingress[*]['ip', 'hostname']}"
Run Code Online (Sandbox Code Playgroud)
如果您希望获得人类可读的输出,则可以使用custom-columns输出格式。
kubectl get svc foo -n foo \
-o custom-columns="NAME:.metadata.name,IP ADDRESS:.status.loadBalancer.ingress[*].ip"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |