今天按照网上和书上的要求,将目前的kubernetes网络换成flannel。其实配置起来仍是很简单的,可是一旦出现了问题,将很难解决。node
配置方法我这边不给出了。由于网上这样的教程一大把,在说下去也无心义。可是错误仍是碰见了几个。docker
个人环境:centos7(master+2个node )+ etcd3.2.7(搭建在master上)+ flannel 0.9(每一个node上)centos
1.问题:配置自flanneld启动脚本,总出现: Couldn't fetch network config: client: etcd cluster is unavai...scheme网络
缘由:配置文件中配置了变量,可是再启动文件中指定变量名错误。如FLANNEL_ETCD 我写成了FLANNEL_ETCD_PREFIX.fetch
很低级的错误请注意centos7
2.启动了FLANNEL和docker,但docker0的IP仍是原来的样子,仍是没法与同一Node的flannel0在同一网段。
缘由:教程
grep "docker_env" `which mk-docker-opts.sh` 找到flannel为docker建立的文件位置。eg:个人文件在:/run/docker_opts.envkubernetes
而后cat /usr/lib/systemd/system/docker.service中发现没有source这个这个文件。(若是docker启动文件是本身写的,须要在启动文件中加入这些变量)ast
因此,我就加上了这么几行(根据具体调整下列的参数位置):变量
EnvironmentFile=-/run/flannel/docker ###(mk-docker-opts.sh -k DOCKER_OPTS -d /run/flannel/docker)
$DOCKER_OPT_BIP\
$OCKER_OPT_IPMASQ\
$DOCKER_OPT_MTU
最后重启docker 后,发现问题解决了。