2017-05-24 15 views
2

すべてのKubernetesクラスタで動作するサービスクラスタIP範囲(CIDR)を取得する方法が必要です。Kubernetes - プログラムIP範囲CIDRをプログラムで見つけ出す

私はそれがapiserverポッドの引数をgrepするようkubeadmで作成されたクラスタのため正常に動作され、次のことを試してみました:

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

これはすなわちのgcloud

、すべてのKubernetesクラスタ上では動作しませんので、質問をプログラムのIP範囲を取得する最良の方法は何ですか?

答えて

1

私はK8s Apiを通じてこのような情報にアクセスする方法はないと考えていますが、この機能の欠如に対処するためのオープンな問題があります:https://github.com/kubernetes/kubernetes/issues/25533。問題のk8sクラスタの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に精通していません。 –

関連する問題