【问题标题】:Kubernetes - Find out service ip range CIDR programaticallyKubernetes - 以编程方式找出服务 IP 范围 CIDR
【发布时间】:2017-10-24 13:32:55
【问题描述】:

我需要一种方法来获取适用于所有 Kubernetes 集群的服务集群 IP 范围(作为 CIDR)。

我尝试了以下方法,它适用于使用 kubeadm 创建的集群,因为它 greps apiserver pod 的参数:

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

这不适用于所有 Kubernetes 集群,即 gcloud

所以问题是,以编程方式获取服务 ip 范围的最佳方法是什么?

【问题讨论】:

    标签: kubernetes gcloud kubectl


    【解决方案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

    【讨论】:

    • 在GKE的情况下是否可以访问etcd?如果是,怎么做?
    • 很遗憾,我对 GKE 不熟悉。
    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 2012-11-04
    • 2013-09-07
    • 1970-01-01
    • 2012-11-07
    • 2012-04-30
    相关资源
    最近更新 更多