Docker Swarm 작업자 노드 역할을 하는 RHEL8 시스템이 있습니다. 활성화 되었으며 및 인터페이스 가 할당된 영역이 firewalld
있습니다 .docker
docker0
docker_gwbridge
$ cat /etc/firewalld/zones/docker.xml
<?xml version="1.0" encoding="utf-8"?>
<zone version="1.0" target="ACCEPT">
<short>docker</short>
<description>zone for docker bridge network interfaces</description>
<interface name="docker_gwbridge"/>
<interface name="docker0"/>
</zone>
재부팅하거나 firewalld
다시 시작하거나 다시 로드한 후 이러한 인터페이스는 에 따라 올바른 영역에 나타납니다 firewall-cmd --get-active-zones
.
$ firewall-cmd --get-active-zones
docker
interfaces: docker_gwbridge docker0
internal
interfaces: vethb6daacd veth0a3a13c veth3922477 veth1fc2c24 veth35f6f77 veth172d461 vethf457e97 vethed46b94 vethc3293eb vethe6c08de vethb1c5fb6 vethd6bcfd8 eth0
그러나 몇 분(보통 1시간 미만) 후에 internal
대신 영역으로 이동하여 컨테이너의 네트워킹이 중단됩니다.
$ firewall-cmd --get-active-zones
internal
interfaces: vethb6daacd veth0a3a13c veth3922477 veth1fc2c24 veth35f6f77 veth172d461 vethf457e97 vethed46b94 vethc3293eb vethe6c08de vethb1c5fb6 vethd6bcfd8 eth0 docker_gwbridge docker0 veth5686e56 vetha51060c vethde79c75
A는 firewall-cmd --reload
잠시 동안 다시 고쳤습니다.
이 질문관련성이 있어 보였지만 이러한 인터페이스(제가 올바르게 해석한 경우)는 NetworkManager에 의해 관리되지 않으므로 이것이 잘못되었다고 생각하지 않습니다.
$ nmcli device
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
docker0 bridge connected (externally) docker0
docker_gwbridge bridge connected (externally) docker_gwbridge
veth5686e56 ethernet unmanaged --
vetha51060c ethernet unmanaged --
vethde79c75 ethernet unmanaged --
lo loopback unmanaged --
$ ls /etc/sysconfig/network-scripts/
ifcfg-eth0
에서 흥미로운 점을 찾을 수 없습니다 /var/log/firewalld
. 이 문제가 발생하지 않는 동일한 방식으로 이론적으로 구성된 여러 다른 노드가 있습니다.
노드를 설정하지 않았고 시스템 관리자도 아니지만 알아내려고 노력 중입니다! 지혜로운 말은 없나요?
답변1
Chef 작업이 이 문제의 원인인 것 같습니다. Chef는 작동 중인 서버와 손상된 서버 간에 설명할 수 없을 정도로 다르게 구성되어 있습니다.