2017-07-09 57 views

回答

4

使用kubectl是让你的服务的入口IP地址的最简单方法。如果您只想获得IP地址,那么您可以将大部分解析作为kubectl命令本身的一部分。

kubectl get svc foo -n foo \ 
    -o jsonpath="{.status.loadBalancer.ingress[*].ip}" 

这可能并不适用于你,但有些云负载均衡(如AWS ELB)给你一个主机名,而不是IP地址,所以你需要寻找该网址。

kubectl get svc foo -n foo \ 
    -o jsonpath="{.status.loadBalancer.ingress[*].hostname}" 

如果你喜欢,你可以通过使用jsonpath联合运算符来获得。

kubectl get svc foo -n foo \ 
    -o jsonpath="{.status.loadBalancer.ingress[*]['ip', 'hostname']}" 

如果你想要一个人类可读的输出,你可以使用custom-columns输出格式。

kubectl get svc foo -n foo \ 
    -o custom-columns="NAME:.metadata.name,IP ADDRESS:.status.loadBalancer.ingress[*].ip"