10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

TL، ڊاڪٽر: سڀ CNIs ڪم ڪن جيئن انھن کي گھرجي، سواءِ Kube-Router ۽ Kube-OVN، Calico، سواءِ خودڪار MTU جي چڪاس جي، بھترين آھي.

منهنجي ماضي جي چڪاس جي آرٽيڪل-اپڊيٽ (2018 и 2019)، جانچ جي وقت ۾ آئون ڪبرنيٽس 1.19 استعمال ڪري رهيو آهيان Ubuntu 18.04 تي آگسٽ 2020 تائين اپڊيٽ ٿيل CNIs سان.

ان کان اڳ جو اسان ميٽرڪ ۾ وڃون...

اپريل 2019 کان نئون ڇا آهي؟

  • توهان جي پنهنجي ڪلستر تي ٽيسٽ ڪري سگهو ٿا: توهان اسان جي اوزار کي استعمال ڪندي پنهنجي ڪلستر تي ٽيسٽ هلائي سگهو ٿا ڪبرنيٽس نيٽورڪ بينچ مارڪ: knb
  • نوان ميمبر ظاهر ٿيا
  • نئون منظرنامو: موجوده چيڪ هلندا آهن "Pod-to-Pod" نيٽ ورڪ ڪارڪردگي جا امتحان، ۽ هڪ نئون "Pod-to-Service" اسڪرپٽ شامل ڪيو ويو آهي جيڪو حقيقي دنيا جي حالتن جي ويجهو ٽيسٽ هلائي ٿو. عملي طور تي، توهان جو Pod with API بنيادي طور تي خدمت جي طور تي ڪم ڪري ٿو، ۽ نه Pod ip ايڊريس ذريعي (يقيناً اسان ٻنهي منظرنامي لاءِ TCP ۽ UDP ٻنهي کي چيڪ ڪريون ٿا).
  • وسيلن جو استعمال: هر ٽيسٽ هاڻي پنهنجي وسيلن جي مقابلي ۾ آهي
  • ايپليڪيشن ٽيسٽ کي هٽائڻ: اسان هاڻي HTTP، FTP ۽ SCP ٽيسٽ نه ڪندا آهيون جيئن اسان جي ڪميونٽي ۽ CNI سنڀاليندڙن سان اسان جي فائدي وارو تعاون CNI جي شروعات ۾ دير ٿيڻ جي ڪري Iperf نتيجن جي وچ ۾ TCP ۽ curl جي نتيجن جي وچ ۾ هڪ فرق دريافت ڪيو آهي (Pod جا پهريان ڪجهه سيڪنڊ شروعاتي، جيڪو حقيقي حالتن ۾ عام ناهي).
  • اوپن سورس: سڀ ٽيسٽ ماخذ (اسڪرپٽس، ايم ايل سيٽنگون ۽ اصل "خام" ڊيٽا) موجود آهن هتي

ريفرنس ٽيسٽ پروٽوڪول

پروٽوڪول تفصيل سان بيان ڪيو ويو آهي هتيمهرباني ڪري نوٽ ڪريو ته هي آرٽيڪل Ubuntu 18.04 بابت آهي ڊفالٽ ڪنييل سان.

تشخيص لاءِ CNI چونڊيو

ھن ٽيسٽنگ جو مقصد ھڪڙي yml فائل سان ترتيب ڏنل CNIs جي مقابلي ڪرڻ آھي (ان ڪري، اھي سڀئي جيڪي اسڪرپٽ پاران نصب ٿيل آھن، جهڙوڪ VPP ۽ ٻيا، خارج ٿيل آھن).

مقابلي لاءِ اسان جا چونڊيل CNIs:

  • انٽريا v.0.9.1
  • ڪيليڪو v3.16
  • Canal v3.16 (Flannel network + Calico Network Policies)
  • ڪيليم 1.8.2
  • فلانيل 0.12.0
  • ڪوبي روٽر تازو (2020-08-25)
  • WeaveNet 2.7.0

CNI لاءِ MTU ترتيب ڏيڻ

سڀ کان پهريان، اسان TCP ڪارڪردگي تي خودڪار MTU ڳولڻ جو اثر چيڪ ڪريون ٿا:

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

TCP ڪارڪردگي تي MTU جو اثر

UDP استعمال ڪرڻ وقت اڃا به وڏو خال ملي ٿو:

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)
UDP ڪارڪردگي تي MTU جو اثر

ٽيسٽن ۾ ظاهر ڪيل وڏي ڪارڪردگيءَ جي اثر کي نظر ۾ رکندي، اسان سڀني CNI سنڀاليندڙن کي اميد جو خط موڪلڻ چاهيون ٿا: مھرباني ڪري CNI ۾ خودڪار MTU سڃاڻپ شامل ڪريو. توھان بچائيندؤ ڪتن، يوني ڪورن ۽ حتي سڀ کان پيارو: ننڍڙو ديوپ.

تنهن هوندي، جيڪڏهن توهان کي استعمال ڪرڻ جي ضرورت آهي CNI بغير خودڪار MTU ڳولڻ جي مدد لاء، توهان ڪارڪردگي حاصل ڪرڻ لاء دستي طور تي ترتيب ڏئي سگهو ٿا. مهرباني ڪري نوٽ ڪريو ته اهو Calico، Canal ۽ WeaveNet تي لاڳو ٿئي ٿو.

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)
منهنجي ننڍڙي گذارش آهي ساڻن گڏ آيل CNIs کي...

CNI جاچ: خام ڊيٽا

هن حصي ۾، اسان CNI کي درست MTU سان گڏ ڪنداسين (خودڪار طور تي مقرر ڪيل يا دستي طور تي مقرر ڪيل). هتي بنيادي مقصد گرافس ۾ خام ڊيٽا ڏيکارڻ آهي.

رنگ جي روايت:

  • سرمائي - نموني (يعني ننگي لوھ)
  • سائو - بينڊوڊٿ 9500 Mbps کان مٿي
  • پيلو - بينڊوڊٿ 9000 Mbps کان مٿي
  • نارنگي - بينڊوڊٿ 8000 Mbps کان مٿي
  • ڳاڙهو - 8000 Mbps کان هيٺ بينڊوڊٿ
  • نيرو - غير جانبدار (بينڊوڊٿ سان لاڳاپيل ناهي)

نه لوڊ وسيلن جي واپرائڻ

سڀ کان پهريان، وسيلن جي استعمال کي چيڪ ڪريو جڏهن ڪلستر "سمهڻ" آهي.

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)
نه لوڊ وسيلن جي واپرائڻ

پوڊ کان پوڊ

اهو منظر فرض ڪري ٿو ته ڪلائنٽ پوڊ سڌو سنئون سرور پوڊ سان ڳنڍيندو آهي ان جي IP پتي کي استعمال ڪندي.

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)
پوڊ کان پوڊ منظر

ٽي پي

Pod-to-Pod TCP نتيجا ۽ لاڳاپيل وسيلن جو استعمال:

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

يو ايس پي

Pod-to-Pod UDP نتيجا ۽ لاڳاپيل وسيلن جو استعمال:

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

Pod-to-service

هي سيڪشن حقيقي استعمال جي ڪيسن لاءِ لاڳاپيل آهي، ڪلائنٽ پوڊ ڪلسٽرپ سروس ذريعي سرور پوڊ سان ڳنڍي ٿو.

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)
Pod-to-Service Script

ٽي پي

Pod-to-Service TCP نتيجا ۽ لاڳاپيل وسيلن جو استعمال:

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

يو ايس پي

Pod-to-Service UDP نتيجا ۽ لاڳاپيل وسيلن جو استعمال:

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

نيٽ ورڪ پاليسي جي حمايت

مٿين سڀني مان، صرف هڪ جيڪو سياست جي حمايت نٿو ڪري، فلانيل آهي. ٻيا سڀئي صحيح طريقي سان نيٽ ورڪ پاليسين تي عمل ڪن ٿا، بشمول انبائونڊ ۽ آئوٽ بائونڊ. تمام سٺو ڪم!

CNI انڪرپشن

چڪاس ٿيل CNIs ۾ اھي آھن جيڪي پوڊ جي وچ ۾ نيٽ ورڪ ايڪسچينج کي انڪرپٽ ڪري سگھن ٿا:

  • انٽريا IPsec استعمال ڪندي
  • ڪيليڪو وائر گارڊ استعمال ڪندي
  • Cilium استعمال ڪندي IPsec
  • WeaveNet IPsec استعمال ڪندي

ذريعي

جتان ٿورڙا CNIs رهجي ويا آهن، اچو ته سڀني منظرنامن کي هڪ گراف ۾ رکون:

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

وسيلن جي استعمال

هن حصي ۾، اسان استعمال ڪيل وسيلن جو جائزو وٺنداسين جڏهن پروسيسنگ پوڊ کان پوڊ ڪميونيڪيشن TCP ۽ UDP ۾. Pod-to-Service گراف ڊرائنگ ڪرڻ ۾ ڪو به مقصد ناهي ڇو ته اهو اضافي معلومات مهيا نٿو ڪري.

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

اهو سڀ ڪجهه گڏ ڪرڻ

اچو ته سڀني گرافن کي ورجائڻ جي ڪوشش ڪريون، اسان هتي ٿورو ذرو ذوق متعارف ڪرايو، اصل قدرن کي لفظن سان بدلائي ”vwry fast“، ”low“ وغيره.

10G نيٽ ورڪ تي ڪبرنيٽس لاءِ CNI ڪارڪردگي جو جائزو (آگسٽ 2020)

نتيجو ۽ منهنجو نتيجو

اهو ٿورڙو موضوعي آهي، ڇاڪاڻ ته مان نتيجن جي پنهنجي تشريح کي پهچائي رهيو آهيان.

مون کي خوشي آهي ته نوان CNIs ظاهر ٿيا، Antrea چڱيءَ طرح پرفارم ڪيو، ڪيترن ئي ڪمن تي عمل ڪيو ويو جيتوڻيڪ ابتدائي ورزن ۾: خودڪار MTU جي چڪاس، انڪرپشن ۽ آسان تنصيب.

جيڪڏهن اسان ڪارڪردگي جو مقابلو ڪريون ٿا، سڀ CNIs چڱي طرح ڪم ڪن ٿا، سواء Kube-OVN ۽ Kube-Router. ڪوبي روٽر پڻ MTU کي ڳولڻ ۾ ناڪام ٿي ويو، مون کي دستاويزن ۾ ڪٿي به ان کي ترتيب ڏيڻ جو طريقو نه مليو (هتي هن موضوع تي هڪ درخواست کليل آهي).

وسيلن جي استعمال جي لحاظ کان، Cilium اڃا تائين ٻين جي ڀيٽ ۾ وڌيڪ ريم استعمال ڪري ٿو، پر ٺاهيندڙ واضح طور تي وڏي ڪلستر کي نشانو بڻائيندو آهي، جيڪو واضح طور تي ٽي نوڊ ڪلستر تي ٽيسٽ وانگر ناهي. Kube-OVN پڻ سي پي يو ۽ رام وسيلن جو تمام گهڻو استعمال ڪري ٿو، پر اهو هڪ نوجوان CNI آهي جيڪو Open vSwitch تي ٻڌل آهي (جهڙوڪ Antrea، اهو بهتر ڪم ڪري ٿو ۽ گهٽ استعمال ڪري ٿو).

فلانيل کانسواءِ هر ڪنهن وٽ نيٽ ورڪ پاليسيون آهن. اهو تمام گهڻو امڪان آهي ته هو ڪڏهن به انهن جي حمايت نه ڪندو، ڇو ته مقصد هڪ ٻاڦ واري ٽرپ کان وڌيڪ آسان آهي: روشن، بهتر.

انهي سان گڏ، ٻين شين جي وچ ۾، انڪرپشن ڪارڪردگي حيرت انگيز آهي. Calico هڪ پراڻي ترين CNIs مان هڪ آهي، پر انڪوشن صرف ٻه هفتا اڳ شامل ڪيو ويو. انهن IPsec جي بدران وائر گارڊ چونڊيو، ۽ آسانيء سان، اهو ڪم ڪري ٿو عظيم ۽ حيرت انگيز، مڪمل طور تي جانچ جي هن حصي ۾ ٻين CNIs کي ختم ڪري ٿو. يقينن، وسيلن جو استعمال انڪريپشن جي ڪري وڌي ٿو، پر حاصل ڪيل ٽريپٽ ان جي قابل آهي (ڪيليڪو Cilium جي مقابلي ۾ انڪريپشن ٽيسٽ ۾ ڇهه ڀيرا بهتري ڏيکاري، جيڪو ٻيو نمبر آهي). ان کان علاوه، توھان چالو ڪري سگھو ٿا وائر گارڊ کي چالو ڪرڻ کان پوءِ توھان ڪيليڪو کي ڪلستر تي مقرر ڪرڻ کان پوءِ، ۽ توھان ان کي ٿوري وقت لاءِ يا مستقل طور تي بند ڪري سگھوٿا جيڪڏھن توھان چاھيو. اهو ناقابل يقين حد تائين آسان آهي، جيتوڻيڪ! اسان توهان کي ياد ڏياريون ٿا ته Calico في الحال MTU خودڪار نه ڳولي ٿو (هي فيچر مستقبل جي ورزن لاءِ منصوبابندي ڪئي وئي آهي)، تنهن ڪري MTU کي ترتيب ڏيڻ جي پڪ ڪريو جيڪڏهن توهان جو نيٽ ورڪ جمبو فريمز (MTU 9000) کي سپورٽ ڪري ٿو.

ٻين شين جي وچ ۾، نوٽ ڪريو ته Cilium ڪلستر نوڊس جي وچ ۾ ٽرئفڪ کي انڪوڊ ڪري سگھي ٿو (۽ نه رڳو پوڊ جي وچ ۾)، جيڪو عوامي ڪلستر نوڊس لاء تمام ضروري ٿي سگھي ٿو.

نتيجي طور، آئون هيٺين استعمال جي ڪيسن جي صلاح ڪريان ٿو:

  • هڪ تمام ننڍڙي ڪلستر لاءِ CNI جي ضرورت آهي يا مون کي سيڪيورٽي جي ضرورت ناهي: ڪم ڪرڻ فلاليلسڀ کان وڌيڪ هلڪو ۽ مستحڪم CNI (هو پڻ قديم ترين ماڻهن مان هڪ آهي، ڏند ڪٿا موجب هو هومو ڪبرناٽس يا هومو ڪنٽيٽورس ايجاد ڪيو هو.). توهان شايد دلچسپي وٺن ٿا سڀ کان وڌيڪ ذهين منصوبي ۾ ڪي 3ا، چيڪ!
  • هڪ باقاعده ڪلستر لاء CNI جي ضرورت آهي: ڪيليڪو - توهان جي پسند، پر جيڪڏهن ضرورت هجي ته MTU ترتيب ڏيڻ نه وساريو. توھان آساني سان ۽ قدرتي طور نيٽ ورڪ پاليسين سان راند ڪري سگھو ٿا، انڪرپشن کي آن ۽ آف ڪري سگھو ٿا، وغيره.
  • (تمام) وڏي پيماني تي ڪلسٽر لاءِ CNI جي ضرورت آھي: خير، ٽيسٽ وڏي ڪلستر جي رويي کي ظاهر نٿو ڪري، مون کي ٽيسٽ ڪرڻ ۾ خوشي ٿيندي، پر اسان وٽ 10Gbps ڪنيڪشن سان سوين سرور نه آهن. تنهن ڪري بهترين اختيار توهان جي نوڊس تي تبديل ٿيل ٽيسٽ هلائڻ آهي، گهٽ ۾ گهٽ ڪيليڪو ۽ ڪيليم سان.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو