2017-06-02 28 views
0

在我的kubernetes集羣中,所有節點都有公有IP和私有IP。我使用kubernetes去的客戶端,並希望得到節點的私有IP像下面的代碼片段:如何使用kubernetes go-client獲取節點的私有IP?

for _, addr := range n.Status.Addresses { 
    if addr.Type == kube_api.NodeInternalIP && addr.Address != "" { 
     fmt.Println("internal IP") 
     nodeIP = addr.Address 
     fmt.Println(nodeIP) 
    } 
    if addr.Type == kube_api.NodeExternalIP && addr.Address != "" { 
     fmt.Println("external IP") 
     nodeIP = addr.Address 
     fmt.Println(nodeIP) 
    } 
    if addr.Type == kube_api.NodeLegacyHostIP && addr.Address != "" { 
     fmt.Println("lgeacyhost IP") 
     nodeIP = addr.Address 
     fmt.Println(nodeIP) 
    } 
} 

然而,NodeInternalIP和NodeExternalIP全部返回公網IP。

有沒有辦法獲得節點的私有IP?

非常感謝。

回答

0

這應該爲您提供節點的內部私有IP

kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="InternalIP")].address}' 

172.20.38.232 172.20.48.54 172.20.53.226 172.20.55.210

相關問題