
د تمديد؛ DR: ټول CNIs لکه څنګه چې دوی باید کار وکړي، د کیوب-روټر او کیوب-OVN استثنا سره، Calico، د اتوماتیک MTU کشف استثنا سره، غوره دی.
زما د تیرو چکونو مقاله تازه کول ( и ), на момент тестирования я использую Kubernetes 1.19 в Ubuntu 18.04 с обновленными CNI на август 2020 года.
مخکې لدې چې موږ میټریکونو ته لاړ شو ...
د اپریل 2019 راهیسې څه نوي دي؟
- په خپل کلستر کې ازموینه کولی شئ: تاسو کولی شئ زموږ د وسیلې په کارولو سره په خپل کلستر کې ازموینې ترسره کړئ د Kubernetes شبکې بنچمارک:
- نوي غړي راڅرګند شول
- د VMware تنزو څخه
- له alauda.io څخه
- نوې سناریوګانې: اوسني چکونه د "Pod-to-Pod" شبکې فعالیت ازموینې پرمخ وړي، او یو نوی "Pod-to-Service" سکریپټ اضافه شوی چې د ریښتینې نړۍ شرایطو ته نږدې ازموینې پرمخ وړي. په عمل کې، ستاسو پوډ د API سره د بیس سره د خدمت په توګه کار کوي، نه د پوډ IP پتې له لارې (البته موږ د دواړو سناریوګانو لپاره TCP او UDP دواړه ګورو).
- د سرچینو مصرف: هره ازموینه اوس د خپلو سرچینو پرتله کول لري
- د غوښتنلیک ازموینې لرې کول: موږ نور د HTTP، FTP او SCP ازموینې نه ترسره کوو ځکه چې د ټولنې او CNI ساتونکو سره زموږ ګټورې همکارۍ د CNI په پیل کې د ځنډ له امله د TCP او curl پایلو په اړه د iperf پایلو ترمنځ واټن موندلی دی (د پوډ لومړی څو ثانیې پیل کول، کوم چې په ریښتیني شرایطو کې عادي ندي).
- خلاص سرچینه: د ازموینې ټولې سرچینې (سکریپټونه، د yml ترتیبات او اصلي "خام" ډاټا) شتون لري
د حوالې ازموینې پروتوکول
پروتوکول په تفصیل سره بیان شوی , обратите внимание, что эта статья посвящена Ubuntu 18.04 с ядром по умолчанию.
د ارزونې لپاره د CNI غوره کول
د دې ازموینې هدف د یو yaml فایل سره ترتیب شوي CNIs پرتله کول دي (له همدې امله ، ټول هغه چې د سکریپټونو لخوا نصب شوي ، لکه VPP او نور ، خارج شوي دي).
د پرتله کولو لپاره زموږ غوره شوي CNIs:
- انټریا v.0.9.1
- کالیکو v3.16
- کانال v3.16 (د فلانیل شبکه + د کالیکو شبکې پالیسۍ)
- سیلیم 1.8.2
- فلالین 0.12.0
- کیوب روټر وروستی (2020-08-25)
- WeaveNet 2.7.0
د CNI لپاره د MTU تنظیم کول
له هرڅه دمخه ، موږ د TCP فعالیت باندې د اتوماتیک MTU کشف اغیزې ګورو:

د TCP فعالیت باندې د MTU اغیز
د UDP کارولو په وخت کې حتی لوی تشه موندل کیږي:

د UDP فعالیت باندې د MTU اغیز
په ازموینو کې څرګند شوي د فعالیت لوی تاثیر ته په پام سره ، موږ غواړو د CNI ټولو ساتونکو ته د امید یو لیک واستوو: مهرباني وکړئ CNI ته د MTU اتوماتیک کشف اضافه کړئ. تاسو به پیشوګانې ، یونیکورن او حتی ترټولو ښکلی خوندي کړئ: کوچنی دیوپ.
په هرصورت، که تاسو د اتوماتیک MTU کشف لپاره د ملاتړ پرته CNI کارولو ته اړتیا لرئ، تاسو کولی شئ دا د فعالیت ترلاسه کولو لپاره په لاسي ډول تنظیم کړئ. مهرباني وکړئ په یاد ولرئ چې دا په کالیکو، کانال او ویونیټ باندې تطبیق کیږي.

زما وړه غوښتنه د CNIs سره ...
د CNI ازموینه: خام ډاټا
پدې برخه کې، موږ به CNI د سم MTU سره پرتله کړو (په اتوماتيک ډول ټاکل شوی یا په لاسي ډول ټاکل شوی). دلته اصلي هدف په ګرافونو کې د خامو معلوماتو ښودل دي.
د رنګ افسانه:
- خړ - نمونه (د بیلګې په توګه، اوسپنه)
- شنه - بینډ ویت له 9500 Mbps څخه پورته
- ژیړ - بینډ ویت له 9000 Mbps څخه پورته
- نارنجي - د 8000 Mbps څخه پورته بینډ ویت
- سور - بینډ ویت د 8000 Mbps لاندې
- نیلي - بې طرفه (د بینډ ویت پورې تړاو نلري)
د نه بار وړ سرچینې مصرف
تر ټولو لومړی، د سرچینو مصرف وګورئ کله چې کلستر "خوب" وي.

د نه بار وړ سرچینې مصرف
پوډ تر پوډ
دا سناریو داسې انګیرل کیږي چې د پیرودونکي پوډ د خپل IP پتې په کارولو سره د سرور پوډ سره مستقیم وصل کیږي.

د پوډ څخه تر پوډ سناریو
TCP
د پوډ څخه تر پوډ TCP پایلې او د اړوندو سرچینو مصرف:


UDP
د پوډ څخه تر پوډ UDP پایلې او د اړوندو سرچینو مصرف:


Pod-to-Service
دا برخه د ریښتیني کارونې قضیو لپاره اړونده ده ، د پیرودونکي پوډ د ClusterIP خدمت له لارې د سرور پوډ سره وصل کیږي.

د پوډ څخه تر خدمت سکریپټ
TCP
د Pod-to-Service TCP پایلې او د اړوندو سرچینو مصرف:


UDP
د Pod-to-Service UDP پایلې او د اړوندو سرچینو مصرف:


د شبکې پالیسۍ ملاتړ
د پورته ټولو څخه، یوازینی یو چې د سیاست ملاتړ نه کوي فلانیل دی. نور ټول په سمه توګه د شبکې پالیسۍ پلي کوي، په شمول د داخلي او بهر. عالي دنده!
د CNI کوډ کول
د چک شوي CNIs په مینځ کې هغه څوک دي چې کولی شي د پوډونو ترمینځ د شبکې تبادله کوډ کړي:
- انټریا د IPsec په کارولو سره
- Calico с помощью wireguard
- Cilium د IPsec په کارولو سره
- WeaveNet د IPsec په کارولو سره
بانډوید
څرنګه چې لږ شمیر CNIs پاتې دي، راځئ چې ټولې سناریوګانې په یوه ګراف کې واچوو:

د منابعو مصرف
پدې برخه کې، موږ به هغه سرچینې ارزونه وکړو چې په TCP او UDP کې د پوډ څخه تر پوډ اړیکو پروسس کولو په وخت کې کارول کیږي. د Pod-to-Service ګراف رسم کولو کې هیڅ معنی نشته ځکه چې دا اضافي معلومات نه وړاندې کوي.


دا ټول یوځای کول
راځئ هڅه وکړو چې ټول ګرافونه تکرار کړو، موږ دلته یو څه موضوع معرفي کړه، اصلي ارزښتونه د "vwry fast"، "لږ" او داسې نورو کلمو سره ځای په ځای کړئ.

پایله او زما پایله
دا یو څه موضوعي دی، ځکه چې زه د پایلو خپل تفسیر وړاندې کوم.
زه خوښ یم چې نوي CNIs ښکاره شوي، انټریا ښه فعالیت کړی، ډیری دندې حتی په لومړیو نسخو کې پلي شوي: د MTU اتوماتیک کشف، کوډ کول او اسانه نصب کول.
که موږ فعالیت پرتله کړو، ټول CNIs ښه کار کوي، پرته له Kube-OVN او Kube-Router. کیوب روټر هم د MTU کشف کولو توان نه درلود ، ما په اسنادو کې هرچیرې د دې تنظیم کولو لاره ونه موندله ( په دې موضوع یوه غوښتنه خلاصه ده).
د سرچینو مصرف په شرایطو کې ، سیلیم لاهم د نورو په پرتله ډیر RAM کاروي ، مګر تولید کونکی په څرګنده توګه لوی کلسترونه په نښه کوي ، کوم چې په څرګنده توګه د درې نوډ کلستر کې د ازموینې په څیر ندي. Kube-OVN هم ډیری CPU او RAM سرچینې مصرفوي، مګر دا د Open vSwitch پر بنسټ یو ځوان CNI دی (لکه انټریا، دا ښه فعالیت کوي او لږ مصرف کوي).
د فلانیل پرته هرڅوک د شبکې پالیسۍ لري. دا خورا احتمال لري چې هغه به هیڅکله د دوی ملاتړ ونه کړي ، ځکه چې هدف د بخار شوي شلجم څخه ساده دی: سپک ، ښه.
Также кроме прочего, производительность шифрования настроящий восторг. Calico — один из старейших CNI, но шифрование было добавлено всего пару недель назад. Они выбрали wireguard вместо IPsec, и проще говоря, все работает великолепно и потрясно, полностью вытесняя другие CNI в этой части тестирования. Конечно же растет потребление ресурсов из-за шифрования, но достигаемая пропускная способность того стоит (Calico в тесте с шифрованием показал шестикратное превосходство по сравнению с Cilium, занимающим второе место). Больше того, можно включить wireguard в любое время после развертывания Calico в кластере, а также, если пожелаете, можете отключить его на короткое время или навсегда. Это невероятно удобно, но! Мы напоминаем, что Calico не умеет сейчас автоматически определять MTU (эта функция запланирована в следующих версиях), так что не забывайте настраивать MTU, если ваша сеть поддерживает Jumbo Frames (MTU 9000).
د نورو شیانو په مینځ کې، په یاد ولرئ چې Cilium کولی شي د کلستر نوډونو ترمنځ ټرافيک کوډ کړي (او نه یوازې د پوډونو ترمنځ)، کوم چې د عامه کلستر نوډونو لپاره خورا مهم کیدی شي.
د پایلې په توګه، زه د لاندې کارولو قضیې وړاندیز کوم:
- د خورا کوچني کلستر لپاره CNI ته اړتیا لرئ یا زه امنیت ته اړتیا نلرم: ورسره کار وکړه فلالینتر ټولو سپک او خورا باثباته CNI (هغه یو له پخوانیو څخه هم دی، د افسانې له مخې هغه د Homo Kubernautus یا Homo Contaitorus لخوا اختراع شوی و.). تاسو ممکن د خورا هوښیار پروژې سره هم علاقه ولرئ , وګوره!
- د منظم کلستر لپاره CNI ته اړتیا لرئ: کلیکو - ستاسو انتخاب، مګر د اړتیا په صورت کې د MTU تنظیم کول مه هیروئ. تاسو کولی شئ په اسانۍ او طبیعي ډول د شبکې پالیسیو سره لوبې وکړئ ، کوډ کول فعال او بند کړئ ، او داسې نور.
- د (ډیر) لوی پیمانه کلستر لپاره CNI ته اړتیا لري: ښه ، ازموینه د لوی کلسترونو چلند نه ښیې ، زه به خوښ شم چې ازموینې ترسره کړم ، مګر موږ د 10Gbps اتصال سره سلګونه سرورونه نلرو. نو غوره اختیار دا دی چې ستاسو په نوډونو کې ترمیم شوي ازموینه پرمخ بوځي ، لږترلږه د کالیکو او سیلیم سره.
سرچینه: www.habr.com
