使用k8s的過程中,發現一臺曾經安裝過harbor(後來清理掉了)的服務器的calico組件一直報錯:
2020-03-19 07:11:07.934 [INFO][11] startup.go 572: Using autodetected IPv4 address on interface br-11af8abf2c68: 172.19.0.1/16
2020-03-19 07:11:07.934 [INFO][11] startup.go 440: Node IPv4 changed, will check for conflicts
2020-03-19 07:11:07.942 [WARNING][11] startup.go 851: Calico node 'node1' is already using the IPv4 address 172.19.0.1.
2020-03-19 07:11:07.942 [INFO][11] startup.go 198: Clearing out-of-date IPv4 address from this node IP="172.19.0.1/16"
2020-03-19 07:11:07.953 [WARNING][11] startup.go 1004: Terminating
其中br-11af8abf2c68是一個網橋,可是安裝過程中,並未配置網橋。於是仔細檢查,發現這是由harbor安裝的,造成了calico網絡的混亂,於是執行如下操作:
root@node1:~# docker network ls
NETWORK ID NAME DRIVER SCOPE
4b4c7575bfe9 bridge bridge local
bfe39862a83f harbor-arm64-193_harbor bridge local
17676ffcbc56 harbor-arm64-193_harbor-chartmuseum bridge local
1ce62bb8f687 host host local
3d97578ea0f5 make_harbor bridge local
62111cce557a make_harbor-chartmuseum bridge local
8877ee09ebf1 none null local
發現果然有harbor遺存,執行如下操作進行刪除
root@node1:~# docker network remove bfe39862a83f
bfe39862a83f
root@node1:~# docker network remove 17676ffcbc56
17676ffcbc56
root@node1:~# docker network remove 3d97578ea0f5
3d97578ea0f5
root@node1:~# docker network remove 62111cce557a
62111cce557a
再執行docker network ls已經看不到harbor的網橋了
重啓calico對應的pod,故障消除
另外,還有個刪除網橋的腳本,僅供參考
#!/bin/bash
for i in `ifconfig|grep br-|awk {'print $1'}`
do
`ifconfig $i down`
`brctl delbr $i`
echo $i
done