我有一个正在运行的k8s集群,用kubeadm安装的。
在初始化时,我没有通过选项--pod-network-cidr
。
我怎样才能得到pod网络的CIDR?
我查看了/etc/kubernetes/manifests/kube-apiserver.yaml
,这好像是kubeadm使用的kube-apiserver,但该信息没有被包括在内。
我有一个正在运行的k8s集群,用kubeadm安装的。
在初始化时,我没有通过选项--pod-network-cidr
。
我怎样才能得到pod网络的CIDR?
我查看了/etc/kubernetes/manifests/kube-apiserver.yaml
,这好像是kubeadm使用的kube-apiserver,但该信息没有被包括在内。
这个命令会返回集群中每个节点的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
你的答案