Semua orang tahu bahawa di Kubernetes, kube-proxy ialah proksi rangkaian Tanggungjawab utamanya ialah menyediakan fungsi pengimbangan beban dan penemuan perkhidmatan untuk perkhidmatan dalam kluster. kube-proxy mempunyai mod pengendalian yang berbeza, antaranya mod iptables dan mod ipvs adalah dua mod biasa. Dalam mod iptables, kube-proxy melaksanakan pengimbangan beban dan penemuan perkhidmatan melalui peraturan iptables, manakala mod ipvs menggunakan teknologi IPVS (Pelayan Maya IP) dalam kernel Linux untuk mencapai pengimbangan beban yang lebih cekap. Memilih mod yang sesuai bergantung pada keperluan kluster anda dan keperluan prestasi. Mod iptables sesuai untuk kluster kecil, manakala mod ipvs lebih sesuai untuk kluster besar kerana ia memberikan prestasi dan kebolehskalaan yang lebih baik. Oleh itu, apabila menggunakan kluster Kubernetes, ia perlu berdasarkan keperluan dan peraturan sebenar
iptables dan ipvs ialah teknologi proksi rangkaian dalam kernel Linux, digunakan untuk pengimbangan beban dan penemuan perkhidmatan. Perbezaan di antara mereka ialah iptables ialah tembok api berasaskan peraturan, manakala ipvs ialah alat pengimbangan beban berasaskan lapisan rangkaian.
Pelaksanaan berdasarkan peraturan iptables adalah untuk menambah satu set peraturan pada setiap nod untuk mencapai pengimbangan beban dan penemuan perkhidmatan manakala ipvs ialah teknologi pengimbangan beban peringkat kernel yang boleh mengendalikan proksi rangkaian dengan lebih cekap; Iptables tertumpu terutamanya pada penapisan dan pemajuan paket rangkaian, manakala ipvs memfokuskan pada pengimbangan beban dan pengagihan trafik, yang boleh mengurus dan mengoptimumkan sumber rangkaian dengan lebih berkesan. Dengan menggabungkan kedua-duanya secara munasabah, trafik rangkaian boleh menjadi lebih seimbang dan diproses dengan cekap, dan prestasi keseluruhan dan kestabilan sistem boleh dipertingkatkan.
Di bawah keadaan beban tinggi, kube-proxy dalam mod ipvs berprestasi lebih baik kerana ia melakukan pengimbangan beban rangkaian berdasarkan tahap kernel dan lebih cekap. Walau bagaimanapun, dalam beberapa senario, mod Iptables juga boleh mencapai prestasi yang lebih baik.
kube-proxy dalam mod Iptables Sebelum Kubernetes versi 1.16, menggunakan iptables untuk melaksanakan pemajuan port hanya boleh melaksanakan pengimbangan beban dan penemuan perkhidmatan berasaskan TCP dan tidak dapat menyokong pengimbangan beban empat lapisan. Dalam Kubernetes versi 1.16, mod iptables-nat ditambah, yang boleh menyokong pengimbangan beban empat lapisan. Sebaliknya, mod ipvs menyokong pengimbangan beban TCP, UDP, SCTP dan empat lapisan serta menyokong berbilang algoritma pengimbangan beban seperti Hashed Dalam Talian, Cincang IP, Round Robin dan Sambungan Paling Rendah.
Satu kelemahan iptables ialah ia beroperasi pada peringkat kernel Apabila peraturan iptables terlalu rumit, ia mungkin memberi kesan kepada prestasi sistem. Di samping itu, kerana peraturan iptables dipusatkan dalam kernel, ia agak sukar untuk diubah suai.
Dalam sistem Kubernetes, alat pengurusan kubeadm akan memilih mod ipvs secara lalai untuk mengendalikan kube-proxy Pada masa yang sama, Kubernetes juga menyediakan pelbagai mekanisme pengendalian pengecualian, seperti tarik-up automatik, rollback, failover, dll. ., untuk memastikan kebolehpercayaan sistem dan prestasi tinggi dan toleransi kesalahan, dengan itu mengelakkan masalah yang mungkin timbul semasa pemprosesan iptables dan meningkatkan prestasi keseluruhan sistem dari segi pengendalian kerosakan dan toleransi kesalahan.
Operasi adalah pada semua nod
<code>cat >> /etc/sysctl.conf/etc/sysconfig/modules/ipvs.modules</code>
Atas ialah kandungan terperinci Bagaimana untuk menggantikan Iptables dengan Ipvs dalam kelompok Kubernetes. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!