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 が不可解なことに異なって構成されています。