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

在初始化时,我没有通过选项--pod-network-cidr

如何获取Pod网络的CIDR

我尝试了


查看/etc/kubernetes/manifests/kube-apiserver.yaml,这似乎是kubeadm使用的kube-apiserver的清单,但未包含该信息
查看kubeadm文档,但我找不到默认值


#1 楼

此命令将为您提供群集中每个节点的Pod CIDR地址。


评论


在我的情况下,“ spec”为空白:{},

–克里斯·斯特里钦斯基(Chris Stryczynski)
20 Jan 9 '20 at 10:42

#2 楼

这将显示kube-proxy

kubectl cluster-info dump | grep -m 1 cluster-cidr

使用的Pod网络CIDR

#3 楼

--cluster-cidr / --pod-network-cidr被馈送到kube-controller-manager配置。

您只需执行ps -ef | grep "cluster-cidr"即可获得所需的内容。

#4 楼

在文件/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


#5 楼

使用kubeadm

kubeadm config view | grep Subnet

评论


感谢您发布答案。您能否解释一下与其他答案中提供的其他命令有什么区别,您能否添加此命令的输出示例?

– 030
19/12/27在7:44

#6 楼

有一些选项(将Calico的现有答案和添加选项结合在一起,包括示例输出):

选项1:在主节点上运行此命令(例如,在Ubuntu上运行microk8s时也适用)


kubeadm配置视图| grep子网

本地3节点群集,主节点的示例输出

podSubnet: 172.16.0.0/16
serviceSubnet: 10.96.0.0/12


选项2:在主节点上运行以下命令:


ps -ef | grep cluster-cidr

运行microk8s的本地计算机的示例输出

vincent   6841 27089  0 09:52 pts/7    00:00:00 grep --color=auto cluster-cidr
root      7053     1  0 feb12 ?        00:00:14 /snap/microk8s/1173/kube-proxy --kubeconfig=/var/snap/microk8s/1173/credentials/proxy.config --cluster-cidr=10.152.183.0/24 --healthz-bind-address=127.0.0.1


选项3:在主节点上运行以下命令:


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=172.16.0.0/16
/etc/kubernetes/manifests/kube-controller-manager.yaml:    - --node-cidr-mask-size=24


如果您运行Calico,则可以选择使用calicoctl:

https://docs.projectcalico.org/v3.5/usage/calicoctl/install

>此文档显示了如何显示和更改cidr:
https://docs.projectcalico.org/v3.2/usage/changing-ip-pools

选项4(Calico ):运行以下命令以查看cidr:


CALICO_KUBECONFIG =〜/ .kube / config DATASTORE_TYPE = kubernetes calicoctl get ippool -o wide

示例输出同一群集(可在具有正确的kubectl配置并连接到群集的任何地方工作):

希望教义在相应的文档中设置。