دا زما تازه دی
له هرڅه دمخه ، زه غواړم د سیلیم ټیم څخه مننه وکړم: هلکانو ما سره د میټریک نظارت سکریپټونو په چک او سمولو کې مرسته وکړه.
د نومبر 2018 راهیسې څه بدل شوي
دلته هغه څه دي چې له هغه وروسته بدل شوي (که تاسو علاقه لرئ):
فلانیل ترټولو ګړندی او ساده CNI انٹرفیس پاتې دی ، مګر لاهم د شبکې پالیسیو او کوډ کولو ملاتړ نه کوي.
رومانا نور ملاتړ نه کوي، نو موږ یې له بنچمارک څخه لرې کړی دی.
WeaveNet اوس د Ingress او Egress لپاره د شبکې پالیسیو ملاتړ کوي! مګر تولیدات کم شوي.
په کالیکو کې ، تاسو لاهم اړتیا لرئ په لاسي ډول د غوره فعالیت لپاره اعظمي پیکټ اندازه (MTU) تنظیم کړئ. کالیکو د CNI نصبولو لپاره دوه اختیارونه وړاندې کوي، نو تاسو کولی شئ د جلا ETCD ذخیره پرته ترسره کړئ:
- په Kubernetes API کې د ډیټا ذخیره په توګه د ذخیره کولو حالت (د کلستر اندازه <50 نوډونه)؛
- د ټایفا پراکسي سره د ډیټا سټور په توګه په Kubernetes API کې د ذخیره کولو حالت د K8S API (د کلستر اندازه> 50 نوډونو) باندې بار کمولو لپاره.
کالیکو ملاتړ اعلان کړ
Cilium اوس د کوډ کولو ملاتړ کوي! Cilium د IPSec تونلونو سره کوډ کول چمتو کوي او د کوډ شوي WeaveNet شبکې لپاره بدیل وړاندې کوي. مګر WeaveNet د کوډ کولو فعال سره د Cilium څخه ګړندی دی.
Cilium اوس د جوړ شوي ETCD آپریټر څخه مننه ځای پرځای کول اسانه دي.
د سیلیم ټیم هڅه کړې چې د حافظې مصرف او CPU لګښتونو کمولو سره د خپل CNI څخه یو څه وزن کم کړي ، مګر سیالي کونکي یې لاهم سپک دي.
د بنچمارک شرایط
بنچمارک په دریو غیر مجازی سوپر مایکرو سرورونو کې د 10 جی بی سوپر مایکرو سویچ سره چلیږي. سرورونه د غیر فعال DAC SFP+ کیبلونو له لارې مستقیم سویچ سره وصل دي او په ورته VLAN کې د جمبو چوکاټونو (MTU 9000) سره تنظیم شوي.
Kubernetes 1.14.0 په اوبنټو 18.04 LTS کې د ډاکر 18.09.2 سره نصب شوی (پدې ریلیز کې د ډیفالټ ډاکر نسخه).
د تولید وړتیا ښه کولو لپاره ، موږ پریکړه وکړه چې تل په لومړي نوډ کې ماسټر تنظیم کړو ، د بنچمارک سرور برخه په دوهم سرور کې او د پیرودونکي برخه په دریم کې ځای په ځای کړو. د دې کولو لپاره، موږ د کوبرنیټس ګمارنې کې نوډ سلیکٹر کاروو.
موږ به د بنچمارک پایلې په لاندې پیمانه بیان کړو:
د بنچمارک لپاره د CNI غوره کول
دا یوازې په برخه کې د لیست څخه د CNI لپاره معیار دی
موږ به لاندې CNIs پرتله کړو:
- کالیکو v3.6
- کانال v3.6 (په اصل کې د شبکې کولو لپاره فلالین + کالیکو د فائر وال په توګه)
- سیلیم 1.4.2
- فلالین 0.11.0
- کیوب روټر 0.2.5
- WeaveNet 2.5.1
د جوړولو
څومره چې د CNI نصب کول اسانه وي، زموږ لومړی تاثیر به ښه وي. د بنچمارک څخه ټول CNIs نصب کول خورا اسانه دي (د یو یا دوه کمانډونو سره).
لکه څنګه چې موږ وویل، سرورونه او سویچ د جمبو چوکاټونو سره تنظیم شوي دي (موږ MTU 9000 ته ټاکلی). موږ به خوشحاله یو که CNI په اتوماتيک ډول د اډیپټرونو ترتیب پراساس MTU وټاکي. په هرصورت، یوازې Cilium او Flannel دا اداره کوله. پاتې CNIs په GitHub کې غوښتنې لري چې د MTU اتوماتیک کشف اضافه کړي ، مګر موږ به دا په لاسي ډول د کالیکو ، کانال او کیوب روټر لپاره د ConfigMap بدلولو سره تنظیم کړو ، یا د WeaveNet لپاره د چاپیریال متغیر تیرولو سره.
د غلط MTU ستونزه څه ده؟ دا ډیاګرام د ډیفالټ MTU او جمبو چوکاټونو فعال شوي سره د WeaveNet ترمنځ توپیر ښیې:
موږ ولیدل چې MTU د فعالیت لپاره څومره مهم دی، اوس راځئ وګورو چې زموږ CNIs څنګه په اتوماتيک ډول دا ټاکي:
CNI په اوتومات ډول MTU کشف کوي
ګراف ښیې چې تاسو اړتیا لرئ د غوره فعالیت لپاره د کالیکو ، کانال ، کیوب روټر او WeaveNet لپاره MTU تنظیم کړئ. Cilium او Flannel د دې توان درلود چې پرته له کوم ترتیباتو څخه پخپله MTU په سمه توګه وټاکي.
امنیت
موږ به د CNI امنیت په دوه اړخونو کې پرتله کړو: د لیږد شوي ډیټا کوډ کولو وړتیا او د کوبرنیټس شبکې پالیسیو پلي کول (د اصلي ازموینو پراساس ، نه د اسنادو).
یوازې دوه CNIs ډاټا کوډ کوي: Cilium او WeaveNet. کوډ کول WeaveNet د CNI چاپیریال متغیر په توګه د کوډ کولو پټنوم ترتیبولو سره فعال شوی. IN
د شبکې پالیسي پلي کولو لپاره، دوی بریالي شوي Calico، کانال، Cilium او WeaveNetپه کوم کې چې تاسو کولی شئ د ننوتلو او وتلو قواعد تنظیم کړئ. لپاره کیوب روټر یوازې د ننوتلو لپاره قواعد شتون لري، او فلالین په ټوله کې د شبکې تګلارې شتون نلري.
دلته عمومي پایلې دي:
د خوندیتوب فعالیت بنچمارک پایلې
محصولات
دا بنچمارک د هرې ازموینې لږ تر لږه درې منډې اوسط له لارې ښیي. موږ د TCP او UDP فعالیت ازموینه کوو (د iperf3 په کارولو سره) ، ریښتیني غوښتنلیکونه لکه HTTP (د Nginx او curl سره) یا FTP (د vsftpd او curl سره) او په پای کې د SCP پراساس کوډ کولو (د پیرودونکي او سرور OpenSSH کارولو سره) په کارولو سره د غوښتنلیک فعالیت.
د ټولو ازموینو لپاره، موږ د اصلي شبکې فعالیت سره د CNI فعالیت پرتله کولو لپاره د فلزي بنچمارک (شنه لاین) ترسره کړ. دلته موږ ورته پیمانه کاروو، مګر په رنګ کې:
- ژیړ = ډیر ښه
- نارنج = ښه
- نیلي = دومره
- سور = بد
موږ به په غلط ډول ترتیب شوي CNIs ونه اخلو او یوازې به د سم MTU سره د CNIs پایلې وښیو. (یادونه: Cilium په سمه توګه د MTU محاسبه نه کوي که تاسو کوډ کول فعال کړئ، نو تاسو به په لاسي ډول MTU په 8900 نسخه کې 1.4 ته راټیټ کړئ. راتلونکی نسخه، 1.5، دا په اتوماتيک ډول کوي.)
دلته پایلې دي:
ټولو CNIs د TCP بنچمارک کې ښه فعالیت کړی. CNI د کوډ کولو سره خورا وروسته پاتې دی ځکه چې کوډ کول ګران دي.
دلته هم، ټول CNIs ښه کار کوي. CNI د کوډ کولو سره نږدې ورته پایله ښودلې. Cilium د سیالۍ څخه یو څه شاته دی، مګر دا یوازې 2,3٪ د فلز فلز دی، نو دا خرابه پایله نه ده. مه هېروئ چې یوازې سیلیم او فلانیل پخپله MTU په سمه توګه ټاکلي، او دا د دوی پایلې دي پرته له کوم اضافي ترتیب.
د ریښتیني غوښتنلیک په اړه څه؟ لکه څنګه چې تاسو لیدلی شئ، د HTTP لپاره عمومي فعالیت د TCP په پرتله یو څه ټیټ دی. حتی که تاسو د TCP سره HTTP کاروئ، موږ د TCP بنچمارک کې iperf3 ترتیب کړی ترڅو د ورو پیل مخه ونیسي چې د HTTP بنچمارک اغیزه وکړي. هرڅوک دلته ښه کار وکړ. کیوب روټر روښانه ګټه لري، مګر WeaveNet ښه فعالیت نه دی کړی: شاوخوا 20٪ د نري فلز څخه بد. Cilium او WeaveNet د کوډ کولو سره واقعیا غمجن ښکاري.
د FTP سره، د بل TCP پر بنسټ پروتوکول، پایلې توپیر لري. فلانیل او کیوب روټر دا کار کوي، مګر کیلیکو، کانال او سیلیم یو څه شاته دي او د فلزاتو په پرتله شاوخوا 10٪ ورو دي. WeaveNet تر 17٪ شاته دی، مګر کوډ شوی WeaveNet د کوډ شوي Cilium څخه 40٪ مخکې دی.
د SCP سره موږ کولی شو سمدلاسه وګورو چې د SSH کوډ کول موږ ته څومره لګښت لري. نږدې ټول CNIs ښه کار کوي، مګر WeaveNet بیا وروسته پاتې دی. Cilium او WeaveNet د کوډ کولو سره تمه کیږي د دوه ګوني کوډ کولو (SSH + CNI) له امله ترټولو خراب وي.
دلته د پایلو سره یو لنډیز جدول دی:
د منابعو مصرف
اوس راځئ پرتله کړو چې څنګه CNI د درنو بارونو لاندې سرچینې مصرفوي (د TCP لیږد پرمهال ، 10 Gbps). د فعالیت په ازموینو کې موږ CNI د نرۍ فلزي (شین لاین) سره پرتله کوو. د منابعو د مصرف لپاره، راځئ چې د CNI پرته خالص Kubernetes (جامني کرښه) وښایه او وګورو چې CNI څومره اضافي سرچینې مصرفوي.
راځئ چې د حافظې سره پیل وکړو. دلته د لیږد پرمهال په MB کې د نوډونو RAM (د بفرونو او کیچ پرته) اوسط ارزښت دی.
فلانیل او کیوب روټر غوره پایلې ښودلې - یوازې 50 MB. کیلیکو او کانال هر یو 70 لري. WeaveNet په ښکاره ډول د نورو په پرتله ډیر مصرف کوي - 130 MB، او Cilium تر 400 پورې کاروي.
اوس راځئ چې د CPU وخت مصرف وګورو. د پام وړ: ډیاګرام فیصدي نه ښیي، مګر ppm، یعني، د "ننګې اوسپنې" لپاره 38 ppm 3,8٪ دی. دلته پایلې دي:
کیلیکو، کانال، فلانیل او کیوب روټر د CPU ډیر اغیزمن دي - د CNI پرته د Kubernetes څخه یوازې 2٪ ډیر. WeaveNet د اضافي 5٪ سره ډیر وروسته پاتې دی، وروسته د Cilium په 7٪ کې.
دلته د سرچینو مصرف لنډیز دی:
پایلې
د ټولو پایلو سره جدول:
پایلې
په وروستۍ برخه کې به زه د پایلو په اړه خپل موضوعي نظر څرګند کړم. په یاد ولرئ چې دا بنچمارک یوازې په خورا کوچني کلستر (3 نوډونو) کې د یو واحد اتصال له لارې ازموینه کوي. دا په لویو کلسترونو (<50 نوډونو) یا موازي اړیکو باندې نه پلي کیږي.
زه د سناریو پراساس د لاندې CNIs کارولو وړاندیز کوم:
- ایا تاسو په خپل کلستر کې لرئ نوډونه د لږو سرچینو سره (څو GB رام، څو کورونه) او تاسو امنیتي ځانګړتیاو ته اړتیا نلرئ - غوره کړئ فلالین. دا یو له خورا ارزانه CNIs څخه دی. او دا د مختلف جوړښتونو سره مطابقت لري (amd64، بازو، arm64، او نور). سربیره پردې ، دا له دوه څخه یو دی (بل یې سیلیم دی) CNI چې کولی شي په اوتومات ډول MTU وټاکي ، نو تاسو اړتیا نلرئ هیڅ شی تنظیم کړئ. کیوب روټر هم مناسب دی، مګر دا معیاري نه دی او تاسو به د MTU په لاسي ډول تنظیم کولو ته اړتیا ولرئ.
- که اړتیا وي شبکه کوډ کړئ د خوندیتوب لپاره، واخلئ WeaveNet. د MTU اندازه مشخص کول مه هیروئ که تاسو د جمبو چوکاټونه کاروئ ، او د چاپیریال متغیر له لارې د پاسورډ مشخص کولو سره کوډ کول فعال کړئ. مګر دا غوره ده چې د فعالیت په اړه هیر کړئ - دا د کوډ کولو لګښت دی.
- لپاره عادي استعمال زه مشوره ورکوم کلیکو. دا CNI په پراخه کچه د کبرنیټس ګمارنې وسیلو کې کارول کیږي (کوپس، کوبیسپری، رینچر، او نور). لکه څنګه چې د WeaveNet سره، ډاډ ترلاسه کړئ چې MTU په ConfigMap کې تنظیم کړئ که چیرې جمبو چوکاټونه وکاروئ. دا یو څو اړخیزه وسیله ده چې د سرچینو مصرف، فعالیت او امنیت په برخه کې اغیزمنه ده.
او په نهایت کې ، زه تاسو ته مشوره درکوم چې پرمختګ تعقیب کړئ cilium. دا CNI یو ډیر فعال ټیم لري چې د دوی په محصول باندې ډیر کار کوي (د ځانګړتیاوو، د سرچینو سپما، فعالیت، امنیت، کلستر کول ...) او دوی خورا په زړه پوري پلانونه لري.
د CNI انتخاب لپاره بصری ډیاګرام
سرچینه: www.habr.com