之前一直用的x86架构,现在转为arm架构,在安装启动flannel网络时,遇到一些小问题,在这里记录一下,具体的安装过程,就不重复了,网上有好多相关的。
systemctl start flanneld
启动就报了一个错误
[root@11 ~]# systemctl start flanneld
Job for flanneld.service failed because the control process exited with error code.
See "systemctl status flanneld.service" and "journalctl -xe" for details.
[root@11 ~]# journalctl -xe
Apr 08 22:53:49 docker01 flanneld-start[31136]: I0408 22:53:49.588177 31136 main.go:211] CLI flags config: {etcdEndpoints:http://192.168.0.224:2379 etcdPrefix:/coreos.com/network etcdKey>
Apr 08 22:53:49 docker01 flanneld-start[31136]: W0408 22:53:49.588296 31136 main.go:630] no subnet found for key: FLANNEL_IPV6_SUBNET in file: /run/flannel/subnet.env
Apr 08 22:53:49 docker01 flanneld-start[31136]: W0408 22:53:49.588334 31136 registry.go:84] no certificate provided: connecting to etcd with http. This is insecure
Apr 08 22:53:49 docker01 flanneld-start[31136]: I0408 22:53:49.588709 31136 main.go:231] Created subnet manager: Etcd Local Manager with Previous Subnet: 10.0.4.0/24
Apr 08 22:53:49 docker01 flanneld-start[31136]: I0408 22:53:49.588733 31136 main.go:234] Installing signal handlers
Apr 08 22:53:49 docker01 flanneld-start[31136]: I0408 22:53:49.591121 31136 main.go:542] Found network config - Backend type: udp
Apr 08 22:53:49 docker01 flanneld-start[31136]: I0408 22:53:49.591157 31136 match.go:206] Determining IP address of default interface
Apr 08 22:53:49 docker01 flanneld-start[31136]: I0408 22:53:49.591399 31136 match.go:259] Using interface with name eth0 and address 192.168.0.252
Apr 08 22:53:49 docker01 flanneld-start[31136]: I0408 22:53:49.591422 31136 match.go:281] Defaulting external address to interface address (192.168.0.252)
Apr 08 22:53:49 docker01 flanneld-start[31136]: E0408 22:53:49.591446 31136 main.go:326] Error fetching backend: UDP backend is not supported on this architecture
Apr 08 22:53:49 docker01 flanneld-start[31136]: I0408 22:53:49.591504 31136 main.go:522] Stopping shutdownHandler...
Apr 08 22:53:49 docker01 systemd[1]: flanneld.service: Main process exited, code=exited, status=1/FAILURE
Apr 08 22:53:49 docker01 systemd[1]: flanneld.service: Failed with result 'exit-code'.
Apr 08 22:53:49 docker01 systemd[1]: Failed to start Flanneld overlay address etcd agent.
-- Subject: Unit flanneld.service has failed
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Unit flanneld.service has failed.
--
-- The result is RESULT.
Apr 08 22:53:49 docker01 systemd[1]: flanneld.service: Service RestartSec=100ms expired, scheduling restart.
Apr 08 22:53:49 docker01 systemd[1]: flanneld.service: Scheduled restart job, restart counter is at 5.
-- Subject: Automatic restarting of a unit has been scheduled
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Automatic restarting of the unit flanneld.service has been scheduled, as the result for
-- the configured Restart= setting for the unit.
Apr 08 22:53:49 docker01 systemd[1]: Stopped Flanneld overlay address etcd agent.
-- Subject: Unit flanneld.service has finished shutting down
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Unit flanneld.service has finished shutting down.
Apr 08 22:53:49 docker01 systemd[1]: flanneld.service: Start request repeated too quickly.
Apr 08 22:53:49 docker01 systemd[1]: flanneld.service: Failed with result 'exit-code'.
Apr 08 22:53:49 docker01 systemd[1]: Failed to start Flanneld overlay address etcd agent.
-- Subject: Unit flanneld.service has failed
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Unit flanneld.service has failed.
--
-- The result is RESULT.
意思是说,UDP模式在这arm架构不能跑。
flannel默认的后端模式就是UDP,既然默认的不行,那我们就改改它的模式,flannel后端模式有三种:UDP、vxlan和host-gw,
修改它的后端模式,要在etcd集群里用etcdctl命令进行修改
etcdctl put /coreos.com/network/config '{"Network":"10.0.0.0/16", "SubnetMin": "10.0.1.0", "SubnetMax": "10.0.20.0", "Backend": {"Type": "vxlan"}}'
一开始,我没有设置backend,是这样设的
etcdctl put /coreos.com/network/config '{"Network":"10.0.0.0/16", "SubnetMin": "10.0.1.0", "SubnetMax": "10.0.20.0"}'
好了,设置完后,再次启动flannel就可以了。
下面的这些链接,有对flannel的工作原理有详细的讲解,同学们自行研读。
相关链接:
https://www.cnblogs.com/huiyichanmian/p/15767418.html
https://juejin.cn/post/6994825163757846565
https://code84.com/234492.html
https://www.linuxprobe.com/flannel.html
https://www.shuzhiduo.com/A/KE5QjVWkdL/
https://blog.csdn.net/LSY_CSDN_/article/details/120272835
https://github.com/flannel-io/flannel/issues/1221
网友评论