1.今天用docker装了一个etcd的集群,安装完成后检查集群状态一直都不健康。在容器1中检查发现容器1所在的主机2379不通,其他两个节点是好的。在容器2中检查就变成容器1所在的主机2379不通,其他两个节点是好的。
2.检查容器状态是正常的,firewalld也是关闭状态。
3.因为安装时和主机端口做了映射,所以在主机上装了etcdctl命令,检查集群状态,此时看到集群状态是正常的。
4.ping主机的ip地址是可以通的,telnet主机的ip+端口不通。
5.已开始以为是容器的默认路由问题,检查后发现也不是。
6.最后想到了iptables。检查iptables状态是开启的。关闭iptables。
# systemctl status iptables
iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Thu 2021-09-09 12:41:57 CST; 3min 27s ago
Process: 24621 ExecStop=/usr/libexec/iptables/iptables.init stop (code=exited, status=0/SUCCESS)
Main PID: 839 (code=exited, status=0/SUCCESS)
7.关闭iptables问题并没有解决。
8.rpm -qa | grep iptable 检查安装的iptables的软件包。发现安装了iptables、iptables-server两个包。
9.卸载iptables。yum remove iptables -y
10.卸载时发现连docker一起卸载了
# yum remove iptables
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package iptables.x86_64 0:1.4.21-16.el7 will be erased
--> Processing Dependency: iptables = 1.4.21-16.el7 for package: iptables-services-1.4.21-16.el7.x86_64
--> Processing Dependency: libxtables.so.10()(64bit) for package: iproute-3.10.0-54.el7.x86_64
--> Running transaction check
---> Package iproute.x86_64 0:3.10.0-54.el7 will be erased
--> Processing Dependency: iproute for package: dracut-network-033-359.el7.x86_64
--> Processing Dependency: iproute for package: initscripts-9.49.30-1.el7.x86_64
--> Processing Dependency: iproute for package: cloud-init-0.7.5-10.el7.centos.1.x86_64
--> Processing Dependency: iproute for package: 1:NetworkManager-1.0.6-27.el7.x86_64
--> Processing Dependency: iproute for package: 12:dhclient-4.2.5-42.el7.centos.x86_64
---> Package iptables-services.x86_64 0:1.4.21-16.el7 will be erased
--> Processing Dependency: iptables for package: docker-ce-18.06.0.ce-3.el7.x86_64
--> Processing Dependency: iptables for package: firewalld-0.3.9-14.el7.noarch
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.0.6-27.el7 will be erased
--> Processing Dependency: NetworkManager = 1:1.0.6-27.el7 for package: 1:NetworkManager-tui-1.0.6-27.el7.x86_64
--> Processing Dependency: NetworkManager(x86-64) = 1:1.0.6-27.el7 for package: 1:NetworkManager-team-1.0.6-27.el7.x86_64
---> Package cloud-init.x86_64 0:0.7.5-10.el7.centos.1 will be erased
---> Package dhclient.x86_64 12:4.2.5-42.el7.centos will be erased
---> Package docker-ce.x86_64 0:18.06.0.ce-3.el7 will be erased
---> Package dracut-network.x86_64 0:033-359.el7 will be erased
--> Processing Dependency: dracut-network for package: kexec-tools-2.0.7-38.el7.x86_64
---> Package firewalld.noarch 0:0.3.9-14.el7 will be erased
---> Package initscripts.x86_64 0:9.49.30-1.el7 will be erased
--> Processing Dependency: initscripts >= 6.38 for package: 1:quota-4.01-11.el7.x86_64
--> Processing Dependency: initscripts for package: 1:net-snmp-5.7.2-24.el7_2.1.x86_64
--> Processing Dependency: initscripts for package: pcp-3.10.6-2.el7.x86_64
--> Processing Dependency: initscripts for package: libstoragemgmt-1.2.3-4.el7.x86_64
--> Processing Dependency: initscripts >= 5.86-1 for package: kbd-1.15.5-11.el7.x86_64
--> Processing Dependency: initscripts >= 8.83-1 for package: plymouth-0.8.9-0.24.20140113.el7.centos.x86_64
--> Running transaction check
---> Package NetworkManager-team.x86_64 1:1.0.6-27.el7 will be erased
---> Package NetworkManager-tui.x86_64 1:1.0.6-27.el7 will be erased
---> Package kbd.x86_64 0:1.15.5-11.el7 will be erased
--> Processing Dependency: kbd for package: pm-utils-1.4.1-27.el7.x86_64
---> Package kexec-tools.x86_64 0:2.0.7-38.el7 will be erased
--> Processing Dependency: kexec-tools for package: abrt-addon-vmcore-2.1.11-36.el7.centos.x86_64
---> Package libstoragemgmt.x86_64 0:1.2.3-4.el7 will be erased
--> Processing Dependency: libstoragemgmt = 1.2.3-4.el7 for package: libstoragemgmt-python-1.2.3-4.el7.noarch
---> Package net-snmp.x86_64 1:5.7.2-24.el7_2.1 will be erased
---> Package pcp.x86_64 0:3.10.6-2.el7 will be erased
--> Processing Dependency: pcp = 3.10.6-2.el7 for package: pcp-pmda-summary-3.10.6-2.el7.x86_64
--> Processing Dependency: pcp = 3.10.6-2.el7 for package: pcp-pmda-sendmail-3.10.6-2.el7.x86_64
--> Processing Dependency: pcp = 3.10.6-2.el7 for package: pcp-pmda-weblog-3.10.6-2.el7.x86_64
--> Processing Dependency: pcp = 3.10.6-2.el7 for package: pcp-pmda-lustrecomm-3.10.6-2.el7.x86_64
--> Processing Dependency: pcp = 3.10.6-2.el7 for package: pcp-pmda-rpm-3.10.6-2.el7.x86_64
--> Processing Dependency: pcp = 3.10.6-2.el7 for package: python-pcp-3.10.6-2.el7.x86_64
--> Processing Dependency: pcp = 3.10.6-2.el7 for package: pcp-pmda-roomtemp-3.10.6-2.el7.x86_64
---> Package plymouth.x86_64 0:0.8.9-0.24.20140113.el7.centos will be erased
--> Processing Dependency: plymouth for package: plymouth-scripts-0.8.9-0.24.20140113.el7.centos.x86_64
---> Package quota.x86_64 1:4.01-11.el7 will be erased
--> Running transaction check
---> Package abrt-addon-vmcore.x86_64 0:2.1.11-36.el7.centos will be erased
--> Processing Dependency: abrt-addon-vmcore for package: abrt-cli-2.1.11-36.el7.centos.x86_64
---> Package libstoragemgmt-python.noarch 0:1.2.3-4.el7 will be erased
---> Package pcp-pmda-lustrecomm.x86_64 0:3.10.6-2.el7 will be erased
--> Processing Dependency: pcp-pmda-lustrecomm for package: pcp-compat-3.10.6-2.el7.x86_64
---> Package pcp-pmda-roomtemp.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-pmda-rpm.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-pmda-sendmail.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-pmda-summary.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-pmda-weblog.x86_64 0:3.10.6-2.el7 will be erased
---> Package plymouth-scripts.x86_64 0:0.8.9-0.24.20140113.el7.centos will be erased
---> Package pm-utils.x86_64 0:1.4.1-27.el7 will be erased
---> Package python-pcp.x86_64 0:3.10.6-2.el7 will be erased
--> Processing Dependency: python-pcp = 3.10.6-2.el7 for package: pcp-system-tools-3.10.6-2.el7.x86_64
--> Processing Dependency: python-pcp for package: pcp-pmda-gluster-3.10.6-2.el7.x86_64
--> Processing Dependency: python-pcp for package: pcp-pmda-json-3.10.6-2.el7.x86_64
--> Processing Dependency: python-pcp for package: pcp-pmda-zswap-3.10.6-2.el7.x86_64
--> Processing Dependency: python-pcp = 3.10.6-2.el7 for package: pcp-export-pcp2graphite-3.10.6-2.el7.x86_64
--> Processing Dependency: python-pcp for package: pcp-pmda-unbound-3.10.6-2.el7.x86_64
--> Running transaction check
---> Package abrt-cli.x86_64 0:2.1.11-36.el7.centos will be erased
--> Processing Dependency: abrt-cli = 2.1.11-36.el7.centos for package: abrt-console-notification-2.1.11-36.el7.centos.x86_64
---> Package pcp-compat.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-export-pcp2graphite.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-pmda-gluster.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-pmda-json.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-pmda-unbound.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-pmda-zswap.x86_64 0:3.10.6-2.el7 will be erased
---> Package pcp-system-tools.x86_64 0:3.10.6-2.el7 will be erased
--> Running transaction check
---> Package abrt-console-notification.x86_64 0:2.1.11-36.el7.centos will be erased
--> Finished Dependency Resolution
http://mirrors.asiainfo.com/repo-mirror/centos/7.2.1511/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article
https://access.redhat.com/articles/1320623
If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/
Dependencies Resolved
===================================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================================
Removing:
iptables x86_64 1.4.21-16.el7 @base 1.5 M
Removing for dependencies:
NetworkManager x86_64 1:1.0.6-27.el7 @anaconda 9.1 M
NetworkManager-team x86_64 1:1.0.6-27.el7 @anaconda 32 k
NetworkManager-tui x86_64 1:1.0.6-27.el7 @anaconda 254 k
abrt-addon-vmcore x86_64 2.1.11-36.el7.centos @anaconda 41 k
abrt-cli x86_64 2.1.11-36.el7.centos @anaconda 0.0
abrt-console-notification x86_64 2.1.11-36.el7.centos @anaconda 1.3 k
cloud-init x86_64 0.7.5-10.el7.centos.1 @C7.2.1511-extras 1.4 M
dhclient x86_64 12:4.2.5-42.el7.centos @anaconda 471 k
docker-ce x86_64 18.06.0.ce-3.el7 @docker-ce-stable 168 M
dracut-network x86_64 033-359.el7 @anaconda 136 k
firewalld noarch 0.3.9-14.el7 @anaconda 2.3 M
initscripts x86_64 9.49.30-1.el7 @anaconda 1.4 M
iproute x86_64 3.10.0-54.el7 @anaconda 1.3 M
iptables-services x86_64 1.4.21-16.el7 @base 24 k
kbd x86_64 1.15.5-11.el7 @anaconda 1.3 M
kexec-tools x86_64 2.0.7-38.el7 @anaconda 678 k
libstoragemgmt x86_64 1.2.3-4.el7 @anaconda 510 k
libstoragemgmt-python noarch 1.2.3-4.el7 @anaconda 634 k
net-snmp x86_64 1:5.7.2-24.el7_2.1 @base 850 k
pcp x86_64 3.10.6-2.el7 @anaconda 2.9 M
pcp-compat x86_64 3.10.6-2.el7 @anaconda 0.0
pcp-export-pcp2graphite x86_64 3.10.6-2.el7 @anaconda 12 k
pcp-pmda-gluster x86_64 3.10.6-2.el7 @anaconda 17 k
pcp-pmda-json x86_64 3.10.6-2.el7 @anaconda 66 k
pcp-pmda-lustrecomm x86_64 3.10.6-2.el7 @anaconda 26 k
pcp-pmda-roomtemp x86_64 3.10.6-2.el7 @anaconda 31 k
pcp-pmda-rpm x86_64 3.10.6-2.el7 @anaconda 45 k
pcp-pmda-sendmail x86_64 3.10.6-2.el7 @anaconda 39 k
pcp-pmda-summary x86_64 3.10.6-2.el7 @anaconda 34 k
pcp-pmda-unbound x86_64 3.10.6-2.el7 @anaconda 66 k
pcp-pmda-weblog x86_64 3.10.6-2.el7 @anaconda 159 k
pcp-pmda-zswap x86_64 3.10.6-2.el7 @anaconda 9.0 k
pcp-system-tools x86_64 3.10.6-2.el7 @anaconda 261 k
plymouth x86_64 0.8.9-0.24.20140113.el7.centos @anaconda 227 k
plymouth-scripts x86_64 0.8.9-0.24.20140113.el7.centos @anaconda 22 k
pm-utils x86_64 1.4.1-27.el7 @anaconda 364 k
python-pcp x86_64 3.10.6-2.el7 @anaconda 400 k
quota x86_64 1:4.01-11.el7 @anaconda 866 k
Transaction Summary
===================================================================================================================================================================
Remove 1 Package (+38 Dependent packages)
11.重新安装docker-ce。安装时发现安装了iptables,没有安装iptables-server.
# yum install docker-ce-18.06.0.ce-3.el7 -y
Loaded plugins: fastestmirror, langpacks
http://mirrors.asiainfo.com/repo-mirror/centos/7.2.1511/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article
https://access.redhat.com/articles/1320623
If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 0:18.06.0.ce-3.el7 will be installed
--> Processing Dependency: iptables for package: docker-ce-18.06.0.ce-3.el7.x86_64
--> Running transaction check
---> Package iptables.x86_64 0:1.4.21-35.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===================================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================================
Installing:
docker-ce x86_64 18.06.0.ce-3.el7 docker-ce-stable 41 M
Installing for dependencies:
iptables x86_64 1.4.21-35.el7 base 432 k
Transaction Summary
===================================================================================================================================================================
Install 1 Package (+1 Dependent package)
11.重新安装etcd检查状态正常了
# docker exec -it 1219fae3b708 /bin/sh
/ # etcdctl cluster-health
member 58b2d5f06189637 is healthy: got healthy result from http://10.19.88.82:2379
member 35ce60f6065246a9 is healthy: got healthy result from http://10.19.88.84:2379
member 746d23590142125b is healthy: got healthy result from http://10.19.88.83:2379
cluster is healthy
- 因为服务器是在公司云上租的,一开始并没有想到是iptables的问题。网上查了很多资料,telnet不通主机端口原因有没暴露主机端口的,有端口写反的,还有容器起来后只运行bash的。反正各种各样,没有一个是我这种情况。