مقالات

آیا این مهم است؟ « وبلاگ ipSpace.net


ما پیکربندی دستگاه را با Netmiko در نسخه netlab سپتامبر 2026 منتشر کردیم و استفاده از آن را در نسخه اکتبر 2026 آسانتر کردیم. تا چند ماه دیگر به روش پیکربندی پیش‌فرض برای چندین پلتفرم محبوب (Arista EOS، Cisco IOS، Cisco Nexus OS، Cisco IOS XR، ماشین‌های مجازی FRRouting) تبدیل می‌شود، اما قبل از انجام این کار می‌خواستم بررسی کنم که آیا این تغییر تفاوتی ایجاد می‌کند یا خیر.

TL&DR: بله، این کار را می کند.

شما نمی توانید این دو ابزار را نسبتاً مقایسه کنید. Netmiko یک کار را انجام می دهد ( رسیدگی به جلسات SSH و دانلود تنظیمات دستگاه) در حالی که Ansible سعی می کند همه چیز برای همه باشد. این مانند مقایسه یک اره برقی با یک چاقوی ارتش سوئیس است. با این حال، از آنجایی که netlab فقط به دانلودهای پیکربندی نیاز دارد، (برای من) منطقی بود که عملکرد این کار را مقایسه کنم.

یه تست خیلی غیر علمی دادم:

  • من آزمایشگاه EVPN را راه اندازی کردم زیرا موارد زیادی برای پیکربندی وجود دارد (نرمال سازی پیکربندی، پیکربندی اولیه، VLAN، OSPF، BGP، VRF، VXLAN، EVPN)
  • اندازه گرفتم چقدر طول میکشه شروع کنید آزمایشگاه (ظروف Arista EOS و Linux) و مدت زمانی که طول می کشد پیکربندی کنید آن را
  • را آزمایشگاه را پیکربندی کنید بخشی از Arista EOS آماده بود بش اسکریپت ها، Netmiko و Ansible.netlab همیشه کانتینرهای لینوکس را با آن پیکربندی می کنند بش اسکریپت ها

در اینجا نتایج آمده است:

عملیات زمان پردازشگر netlab زمان سپری شده
راه اندازی آزمایشگاه 1.6 ثانیه 23.5 ثانیه
پیکربندی با بش اسکریپت ها 0.7 ثانیه 4.3 ثانیه
پیکربندی با Netmiko 0.9 ثانیه 6.2 ثانیه
پیکربندی با Ansible 9.8 ثانیه 33.1 ص

تفاوت بین زمان‌های پیکربندی Netmiko و Ansible قابل توجه است، و در حالی که واقعاً مهم نیست که از ماشین‌های مجازی استفاده می‌کنید (که بسیار کندتر از کانتینرها راه‌اندازی می‌شوند)، تنها تماشای کتاب بازی Ansible که در مراحل پیکربندی آهسته پیش می‌رود باعث ایجاد نویز می‌شود.

صحبت از نویز: در اینجا پرینت کامل یک پیکربندی توپولوژی آزمایشگاهی مبتنی بر Netmiko با دو سوئیچ و چهار میزبان است. شما واقعاً نمی خواهید چاپ مربوطه Ansible را ببینید.

┌──────────────────────────────────────────────────────────────────────────────────┐
│ CHECKING Are lab devices ready to be configured?                                 │
└──────────────────────────────────────────────────────────────────────────────────┘
[INFO]    Checking SSH server(s) on dut_s1,dut_s2
[SSH] Waiting for 1 devices (1.0 seconds)
┌──────────────────────────────────────────────────────────────────────────────────┐
│ CONFIG Normalizing device configurations                                         │
└──────────────────────────────────────────────────────────────────────────────────┘
[INFO]    Executing normalize configuration for node dut_s1
[INFO]    Executing normalize configuration for node dut_s2

┌──────────────────────────────────────────────────────────────────────────────────┐
│ CONFIG Deploying device configurations                                           │
└──────────────────────────────────────────────────────────────────────────────────┘
[INFO]    Executing initial configuration for node dut_s1
[INFO]    Executing initial configuration for node dut_s2
[INFO]    Executing initial configuration for node h1 (namespace clab-evpn-h1)
[INFO]    Executing initial configuration for node h2 (namespace clab-evpn-h2)
[INFO]    Executing initial configuration for node h3 (namespace clab-evpn-h3)
[INFO]    Executing initial configuration for node h4 (namespace clab-evpn-h4)
[INFO]    Executing routing configuration for node h1 (namespace clab-evpn-h1)
[INFO]    Executing routing configuration for node h3 (namespace clab-evpn-h3)
[INFO]    Executing routing configuration for node h4 (namespace clab-evpn-h4)
[INFO]    Executing routing configuration for node h2 (namespace clab-evpn-h2)
[INFO]    Executing vlan configuration for node dut_s1
[INFO]    Executing vlan configuration for node dut_s2
[INFO]    Executing ospf configuration for node dut_s1
[INFO]    Executing ospf configuration for node dut_s2
[INFO]    Executing bgp configuration for node dut_s1
[INFO]    Executing bgp configuration for node dut_s2
[INFO]    Executing vrf configuration for node dut_s2
[INFO]    Executing vrf configuration for node dut_s1
[INFO]    Executing vxlan configuration for node dut_s2
[INFO]    Executing vxlan configuration for node dut_s1
[INFO]    Executing evpn configuration for node dut_s2
[INFO]    Executing evpn configuration for node dut_s1

Results of non-Ansible configuration deployments
====================================================================================================================================
dut_s1           Script:   normalize,initial,vlan,ospf,bgp,vrf,vxlan,evpn
dut_s2           Script:   normalize,initial,vlan,ospf,bgp,vrf,vxlan,evpn
h1               Script:   initial,routing
h2               Script:   initial,routing
h3               Script:   initial,routing
h4               Script:   initial,routing


[SUCCESS] Lab devices configured

در نهایت، من پیکربندی مبتنی بر SSH را به هک هایی مانند اسکریپت های FastCLI ترجیح می دهم که netlab می تواند با کانتینرهای Arista EOS استفاده کند. تفاوت عملکرد زیاد نیست و می توانیم از همین روش در ماشین های مجازی و کانتینرها استفاده کنیم.


Source link

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا