异常现象
生产环境
三台服务器安装服务如下:
主机 | 服务 |
---|---|
node01 | docker、etcd、flannel |
node02 | docker、etcd、flannel |
node03 | docker、etcd、flannel |
三台服务器是一个etcd集群,然后基于flannel网络搭建的docker; 部署的服务node01上分别由config配置中心、discovery注册中心、gateway网关,剩下的服务都是基于前三个状态正常的情况下下才可以! gateway在启动的时候,一会的down了,查看日志报错,大概是连接不到config配置中心读取不到配置!
- 查看容器日志命令
docker logs -f 容器ID
第一反应我也是查看项目所需要的hosts文件在容器内是否做了更改,是不是找不到主机解析的域名,连接不到!
排除镜像的原因以后!
尝试做过reboot
重启服务器,在机器启动后关闭过防火墙和沙盒,依旧无果!
systemctl stop firewalld && setenforce 0
flannel通过systemctl方式是可以正常启动,但是通过查看状态可以看到报错
代码语言:javascript复制systemctl status flanneld
报错内容大概:连接不到X.X.X.X:2379那就是flannel连接不到etcd 连接出现异常
etcd是开机自启动的,然后需要启动flannel,接着启动docker但是没有效果!查看gateway启动日志还是报错! 我再次尝试重启三台服务器查看究竟
- node01、node02、node03进行重启
reboot
- 然后查看etcd集群是否异常,虽说都是开机自启!
- 尝试systemctl start etcd竟然卡住了,然后通过查看etcd服务状态的时候
- systemctl status etcd发现etcd报错 大概报错内容:
health check for peer 3de62d4888b330ab could not connect: dial tcp X.X.X.X:2380: connect: no route to host (prober "ROUND_TRIPPER_SNAPSHOT")
health check for peer 3d3sfag888b330ab could not connect: dial tcp X.X.X.X:2380: connect: no route to host (prober "ROUND_TRIPPER_SNAPSHOT")
health check for peer 3de6asdf88b330ab could not connect: dial tcp X.X.X.X:2380: connect: no route to host (prober "ROUND_TRIPPER_SNAPSHOT")
这个时候我也知道是通讯出现了问题,但是我重启之后都关闭了防火墙并且关闭了沙盒,还会出现问题! 令我费解,通过我把etcd的报错查询一通,说是一定要关闭防火墙、iptables、沙盒,三者都要进行关闭才可以!
解决
- 关闭防火墙
systemctl stop firewalld
- 关闭沙盒
setenforce 0
- 关闭iptables
iptables -F
经过关闭之后,我在依次进行启动
systemctl start etcd && systemctl start flanneld && systemctl start docker
#然后启动容器内的服务
启动顺序
docker start config
docker start discovery
docker start gateway
启动正常
查看日志gateway服务运行没问题
docker logs -f gateway
问题解决!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101841.html原文链接:https://javaforall.cn