有一个正在运行的k8s集群,用kubeadm
初始化。
在初始化的时候,我没有传递--pod-network-cidr
这个选项。
现在如何获得当前pod的CIDR呢?
我试过的
查看
/etc/kubernetes/manifests/kube-apiserver.yaml
,似乎是kubeadm
使用的kube-apiserver
的manifest,但并不包括在内。我也看了一下
kubeadm
文档,但我找不到默认值。
有一个正在运行的k8s集群,用kubeadm
初始化。
在初始化的时候,我没有传递--pod-network-cidr
这个选项。
现在如何获得当前pod的CIDR呢?
我试过的
查看/etc/kubernetes/manifests/kube-apiserver.yaml
,似乎是kubeadm
使用的kube-apiserver
的manifest,但并不包括在内。
我也看了一下kubeadm
文档,但我找不到默认值。
方式一:
从集群中每个节点获取 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
你的答案