Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menyelesaikan masalah pelabuhan docker swarm disekat

Bagaimana untuk menyelesaikan masalah pelabuhan docker swarm disekat

藏色散人
藏色散人asal
2022-01-20 14:29:205920semak imbas

Penyelesaian kepada kegagalan port docker swarm: 1. Edit fail konfigurasi dan tambah konfigurasi "net.ipv4.ip_forward=1"; 2. Mulakan semula rangkaian melalui "systemctl restart network".

Bagaimana untuk menyelesaikan masalah pelabuhan docker swarm disekat

Persekitaran pengendalian artikel ini: sistem centOS6.8, Docker versi 18.09.x, komputer Dell G3.

Bagaimana untuk menyelesaikan masalah pelabuhan docker kawanan disekat? Masalah rangkaian docker swarm

Masalah:

Rangkaian dalaman hos docker adalah perkara biasa, tetapi sambungan dengan hos lain gagal untuk menyambung ke port yang dipetakan pada docker hos, dan rangkaian dalaman docker tidak boleh disambungkan.

Persekitaran pelayan adalah seperti berikut:

  • Sistem centos
  • maklumat docker
WARNING: IPv4 forwarding is disabled
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Penyelesaian

  • Edit fail konfigurasi

vim /etc/sysctl.conf

Tambah konfigurasi

net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-arptables=1
net.ipv4.ip_forward=1

Laksanakansysctl -p Berkuatkuasa

  • Mulakan semula rangkaian

systemctl restart network

Semak maklumat docker sekali lagi, amaran hilang dan rangkaian docker pada hos kembali normal.


Perkara utama, untuk pelayan awan

Pelayan yang saya gunakan ialah Pelayan Awan Alibaba
Jika kluster anda menggunakan port lalai 4789, maka anda mungkin menghadapi masalah yang sama seperti saya masalah.

Terdapat ayat ini dalam dokumentasi bantuan Alibaba Cloud:

Sebelum menambah pemantauan UDP, beri perhatian kepada sekatan berikut:
Port pemantauan UDP 250, 4789 dan 4790 Port dikhaskan untuk sistem dan tidak dibuka kepada orang ramai buat masa ini.
Butiran

Dalam versi 19.03 dan lebih baru, docker menambah item konfigurasi –data-path-port uint32 pada swarm init untuk menukar port VXLAN dari docker swarm.
Masalah itu berjaya diselesaikan selepas mengubah suai port

sudo docker swarm init --data-path-port 5789

Masalah lain

Lihat log docker (journalctl -u docker -n 20 -f) dan mendapati:

level=error msg="error reading the kernel parameter net.ipv4.vs.expire_nodest_conn" 
error="open /proc/sys/net/ipv4/vs/expire_nodest_conn: no such file or directory"

Ini berlaku kerana mesin hos tidak memuatkan modul ip_vs. Mulakan semula docker selepas memuatkan modul ip_vs pada setiap nod. [Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"]

modprobe ip_vs
service docker restart

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah pelabuhan docker swarm disekat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Adakah docker sumber terbuka?Artikel seterusnya:Adakah docker sumber terbuka?