kubernetes(k8s)如何获 pod network CIDR

狼行天下 发表于: 2020-11-13   最后更新时间: 2020-11-13 23:07:00   7,646 游览

有一个正在运行的k8s集群,用kubeadm初始化。

在初始化的时候,我没有传递--pod-network-cidr这个选项。

现在如何获得当前pod的CIDR呢?

我试过的

  • 查看/etc/kubernetes/manifests/kube-apiserver.yaml,似乎是kubeadm使用的kube-apiserver的manifest,但并不包括在内。

  • 我也看了一下kubeadm文档,但我找不到默认值。

发表于 2020-11-13
添加评论
方式一:

从集群中每个节点获取 pod CIDR 地址。

kubectl get nodes -o jsonpath='{.items[*].spec.podCIDR}'
方式二:

kube-proxy所使用的 pod网络CIDR。

kubectl cluster-info dump | grep -m 1 cluster-cidr
方式三:

--cluster-cidr / --pod-network-cidr反馈给kube-controller-manager的配置。

ps -ef | grep "cluster-cidr"
方式四:

在文件 /etc/kubernetes/manifests/kube-controller-manager.yaml 中的

# sudo grep cidr /etc/kubernetes/manifests/kube-*
/etc/kubernetes/manifests/kube-controller-manager.yaml:    - --allocate-node-cidrs=true
/etc/kubernetes/manifests/kube-controller-manager.yaml:    - --cluster-cidr=192.168.0.0/16
/etc/kubernetes/manifests/kube-controller-manager.yaml:    - --node-cidr-mask-size=24
方式五:

用kubeadm方式获取

kubeadm config view | grep Subnet
你的答案

查看kubernetes相关的其他问题或提一个您自己的问题