使用pass_install_x86_64_0124版部署k8s底座、kem;
问题:一台kem节点部署ldap组件失败
解决:恢复问题主机的docker0网卡,重新部署kem相关组件
二、问题详情
现象描述
ansible部署kem组件
TASK [kem : start ldap]
***********************************************************************************************************************
fatal: [192.XXX.xx.22]: FAILED! => {"changed": true, "cmd": "cd /apps/kem_setup/ldap/ && sh start-ldap.sh", "delta": "0:00:00.129829", "end": "2022-08-17 21:01:34.737779", "msg": "non-zero return code", "rc": 125, "start": "2022-08-17 21:01:34.607950", "stderr": "docker: Error response from daemon: network bridge is ambiguous (2 matches found on name).", "stderr_lines": ["docker: Error response from daemon: network bridge is ambiguous (2 matches found on name)."], "stdout": "d0a592e0ad0bc2b323f01c53b0fec5c700a0c5aa46a8767cb0e86d45442ebd1a", "stdout_lines": ["d0a592e0ad0bc2b323f01c53b0fec5c700a0c5aa46a8767cb0e86d45442ebd1a"]}
网桥不明确(在名称上找到2个匹配项)
一个kem节点192.xxx.xx.21主机ldap启动失败,后续步骤不再执行
三、排查与解决
根据报错提示不难看出,问题出在宿主机容器网络上;
查看容器网络
docker network ls 查看docker网桥,发现 2个同名默认网桥
查看bridge底层细节:
docker network inspect bridge 报错,检查失败
正常主机上查看
默认docker网桥数量正常,也能正常查看bridge底层详细信息
解决处理
删除同名的网桥,保留一个
可采用如下方法,如果无效果,可尝试重启主机
如何删除Docker网桥
虚拟网卡docker0其实是一个网桥,docker0这个网桥是在启动Docker Daemon时创建的,因此,这种删除方法并不能根本上删除docker0,下次daemon启动(假设没有指定-b参数)时,又会自动创建docker0网桥。如果想删除它,只需要按照删除网桥的方法即可
#停docker service
systemctl stop docker
#关闭docker0网卡(如果没有ifconfig,则需要先安装(yum insta11 net-tools))ifconfig docker0 dowm
#册除docker0网卡(如果没有brct1,则需要先安装(yu insta11 bridge-utils))brctl delbr docker0
本次环境实测,尝试删除多余的网桥失败,重启主机恢复正常。