2017-05-24 55 views
2

我需要一種方法來獲取適用於所有Kubernetes集羣的服務集羣IP範圍(如CIDR)。Kubernetes - 以編程方式查找服務IP範圍CIDR

我嘗試以下,因爲它裏grep API服務器莢的參數的正常工作與kubeadm創建集羣:

$ kubectl cluster-info dump | grep service-cluster-ip-range 
         "--service-cluster-ip-range=10.96.0.0/12", 

這並不對所有Kubernetes集羣的工作方式,即gcloud

所以問題是,以編程方式獲得服務IP範圍的最佳方式是什麼?

回答

1

我不認爲有通過K8s Api訪問此類信息的方法,但有一個解決此功能缺失的問題:https://github.com/kubernetes/kubernetes/issues/25533。如果您有權訪問有問題的k8羣集的etcd,那麼有一個關鍵字,其中包含有關服務cidr範圍的信息:/registry/ranges/serviceips。您可以通過使用etcdctl(假設您擁有適當的權限)獲得該值:etcdctl --enpoints=<your etcd> --<any authentication flags> get "/registry/ranges/serviceips" --prefix=true

+0

在GKE的情況下可以訪問'etcd'嗎?如果是,如何? – quanta

+0

不幸的是,我對GKE並不熟悉。 –