今天按照网上和书上的要求,将目前的kubernetes网络换成flannel。其实配置起来还是很简单的,但是一旦出现了问题,将很难解决。
配置方法我这边不给出了。因为网上这样的教程一大把,在说下去也无意义。但是错误还是遇见了几个。
我的环境:centos7(master+2个node )+ etcd3.2.7(搭建在master上)+ flannel 0.9(每个node上)
1.问题:配置自flanneld启动脚本,总出现: Couldn't fetch network config: client: etcd cluster is unavai...scheme
原因:配置文件中配置了变量,但是再启动文件中指定变量名错误。如FLANNEL_ETCD 我写成了FLANNEL_ETCD_PREFIX.
很低级的错误请注意
2.启动了FLANNEL和docker,但docker0的IP还是原来的样子,还是无法与同一Node的flannel0在同一网段。
原因:
grep "docker_env" `which mk-docker-opts.sh` 找到flannel为docker创建的文件位置。eg:我的文件在:/run/docker_opts.env
然后cat /usr/lib/systemd/system/docker.service中发现没有source这个这个文件。(如果docker启动文件是自己写的,需要在启动文件中加入这些变量)
所以,我就加上了这么几行(根据具体调整下列的参数位置):
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 后,发现问题解决了。