kubernetes 安装 flannel 提示 pod cidr not assgned 解决方案

问题现象

使用 kubeadm 安装的 kubernetes 集群, 再添加多个的 master 时, flannel 无法启动, 日志出现错误提示 pod cidr not assgned

问题原因

kube-controller-manager 没有给新加入的节点分配IP段.

解决方案

方案1

编辑 master 机器上的 /etc/kubernetes/manifests/kube-controller-manager.yaml

注意: 如果有多个 master 需要修改所有 master

  1. 在命令行添加 --allocate-node-cidrs=true
  2. 重启 kubelet
  3. 执行 kubectl delete {...} 删除问题节点, 重新执行 kubeadm join 即可

注意: 如果删除的节点是用 kubeadm 创建的 master, 删除节点之后还需手动删除对应的 etcd 节点.

方案2

手动给节点分配IP段, 需要在 master 节点执行 kubectl edit node {...} , 然后手动给 spec 节添加 podCIRD 字段

注意: 添加 CIRD 段时建议查看一下其他节点使用哪些 CIRD 段, 避免和已有节点冲突.

apiVersion: v1
kind: Node
metadata:
  name: kube-master1
spec:
  podCIDR: 10.244.0.0/24

你可能感兴趣的:(kubernetes)