يصف هذا المستند أداة التثبيت القابلة للبرمجة، وهي نظام أتمتة قائم على المواصفات لنشر حزم برامج Cisco مثل NSO و CNC.
| الحقل | القيمة |
|---|---|
| المنتج | مثبت قابل للبرمجة |
| نوع المستند | تقرير تقني - البنية والتنفيذ والنتائج |
| الجمهور الرئيسي | مهندسو الحلول، مهندسو الأنظمة الأساسية، DevOps / SRE، العملاء المتوقعون في التسليم |
| جمهور ثانوي | الإدارة الهندسية، ومراجعو الأمن، ومديري البرامج |
المثبت القابل للبرمجة هو نظام أتمتة يعتمد على المواصفات لنشر حزم برامج Cisco وتشغيلها - بما في ذلك Network Services Orchestrator (NSO) ووحدة التحكم في شبكة Crosswork (CNC) وبوابة بيانات Crosswork (CDG) وأتمتة عمليات الأعمال (BPA) - على Enterprise Linux (عائلة RHEL) والبنية الأساسية المرتبطة حيثما ينطبق ذلك (VMware vCenter، و OpenShift، و KVM، و Kubernetes التي يتم تحويلها إلى الهواء). يقوم النظام بفصل وجهة التعريف (مواصفات YAML وتوليد الوجهة الاختيارية الموجهة) عن التنفيذ (الأدوار غير القابلة للطي والكتب المسرحية)، باستخدام مستوى تحكم Python الذي يقوم بتجميع المصنوعات اليدوية والتحقق من الحزم قبل التثبيت طويل المدى وإعداد الأسرار المشفرة وتنسيق بوابات التحقق من الصحة.
يشرح هذا التقرير المصمم الطبقات المعمارية وتدفقات البيانات الأولية وأنماط التنفيذ (بما في ذلك نموذج التحقق من النتائج المختلط القائم على البيانات) وأوضاع النشر (الأصلية، والمحواة، والمتواصلة عبر الإنترنت، والمحمولة جوا) وأطر التحقق والتسجيل. بالنسبة لمنظمات التنفيذ والمنصات، يهدف المنبر إلى الحد من الكدح اليدوي وسوء التشكيل السطحي والثنائيات المفقودة في وقت مبكر، وتوحيد الأتمتة عبر المنتجات والطوبولوجيا مع الحفاظ على بارامترات خاصة بالبيئة.
الكلمات الأساسية: أتمتة البنية الأساسية، النشر الإعلاني، Ansible، مواصفات YAML، تغليف فراغ الهواء، التحقق من النتائج، Crosswork، NSO، CNC، CDG، BPA، سياسة التحقق من الصحة، DevOps.
| دور | التركيز المقترح |
|---|---|
| صناع القرار / قادة | مجرد؛ §1 Value Proposition؛ §8 الفوائد ووضعية المخاطرة؛ §10 الختام |
| مهندسو حلول | §3- 6 (الهندسة المعمارية ونموذج المواصفات والتنفيذ وأنماط النشر) |
| مهندسو DevOps / SRE / التسليم | §5- 7؛ الملحق ب؛ مرفقات الكتاب الأبيض الداخلي المصاحب |
| مراجعو الأمان | §7 وضع الأمان والتوافق؛ حدود الثقة في §3.2 |
تتسم عملية تثبيت المؤسسات لمنتجات أتمتة وتزامن الشبكات متعددة الطبقات بأنها عملية تقليدية تتسم باللمس الشديد: الصفوف الطويلة، والخطوات اليدوية الكثيرة، وانحراف الإصدار بين المواقع، وحالات الفشل التي تظهر على السطح في عملية ما (قوائم التحكم في الوصول المفقودة، ومسارات OVA الخاطئة، ومجموعات الصور غير المكتملة ذات الفجوات الهوائية). هذا النمط يزيد من التكلفة، ويطيل من النافذة، ويجعل التدقيقات أكثر صعوبة.
يتعامل المثبت القابل للبرمجة مع التثبيت كبرنامج ذي معلمات بمواصفات: الطبولوجيا والإصدارات واختيار النظام الأساسي (vCenter مقابل OpenShift مقابل Vanilla VMs) ومسارات الملفات والاستحقاقات. يتسم التشغيل التلقائي بالموثوقية حيثما كان ذلك ممكنا، وقابل للتكرار عبر العملاء، كما يتم تحميله في البداية بعمليات التحقق بحيث تكون "غير جاهز" نتيجة سريعة وصريحة قبل تثبيت نظام المجموعة أو المنتج.
| عامل / نظام | دور |
|---|---|
| مهندس تسليم | يقوم المؤلفون أو إنشاء المواصفات وتشغيل عمليات التعبئة وإعداد مساحة التخزين المؤقت والتحقق من الصحة والتنسيق Orchestrator و Ansible |
| مضيف المثبت | عقدة تحكم Linux (أصلية أو حاوية) مع Python، تهيئة غير قابلة للتشغيل، قرص للمصنوعات اليدوية |
| البنية الأساسية المستهدفة | vCenter أو OpenShift/KubeVirt أو Vanilla VMs حسب المواصفات |
| مصادر أثرية | المرايا الداخلية، تخطيطات الاستحقاق، توزيع البرامج - الخاصة بالبيئة |
| أنظمة تدفق البيانات | المراقبة وإدارة التغيير وعمليات سير عمل JIRA الاختيارية |
| طبقة | مسؤولية |
|---|---|
| المواصفات | الطبولوجيا، الإصدارات، الأنظمة الأساسية، المسارات، الاستحقاقات |
| مستوى التحكم | الحزم والتحقق من الحزم ومساعد التخزين المؤقت وبرنامج تشغيل التحقق من الصحة وواجهة سطر الأوامر من Orchestrator |
| مستوى التشغيل التلقائي | التحضير للمضيف ودورة حياة Kubernetes وتثبيت المنتج والتهيئة ليوم واحد |
| النتائج الفنية | الثنائيات، الصور، الرسوم البيانية، OVAs، كرات القماش |
| المنتج / الحزمة |
|---|
| NSO |
| سي إن سي |
| سي جي دي |
| بي بي أيه |
| CNC + NSO |
المواصفات هي مستندات YAML تصف الأنظمة الأساسية (على سبيل المثال vCenter و OCP و VM و KVM) والأجهزة المضيفة والتطبيقات ذات الإصدارات والطبولوجيا (على سبيل المثال مخططات NSO CFS/RFS) والاستحقاقات (حزم NED والشرائح الإضافية) ومسارات الملفات ل OVAs وصور QCOW2 وعبارات طبقة التطبيقات.
يوفر user_spec تطبيق معين الإعدادات الافتراضية والنسخ الاحتياطية للمسار الخاصة بالتحكم في الوصول عن بعد (CNC)/التحكم في الوصول عن بعد (CDG). يتعامل محلل Orchestrator مع مواصفات المستخدم كمصدر للحقيقة ويستخدم إدخالات مواصفات عامة عند غياب مفاتيح المستخدم.
يدعم مولد الوجهة مجموعة المتطلبات الموجهة عبر مجموعة من الاستبيان، محرك قاعدة (منطق مستند إلى التاريخ)، وتعيين معتمد على المخطط إلى Intent.yaml.
Orchestrator هو الإدخال المفرد للنوايا المخصصة لإنشاء البرامج النصية أو التفاعلية والتحقق من الحزمة وتثبيت التنسيق. وتصميمه يتسم صراحة بالهجين:
جاهزية:AReportaggregate النتائج التي تم اكتشافها؛ is_ready true عندما لا تكون هناك ملفات مطلوبة مفقودة بعد تحليل المواصفات. تدعم الوحدة الثنائيات المجمدة بواسطة PyInstaller من خلال النظام.دقة المسار المجمدة.
يوفر هذا المكون قوائم تفاعلية وأوضاع واجهة سطر الأوامر (CLI) لتركيب البنية الأساسية للمضيف: عبر الإنترنت، أو فراغ الهواء، أو الكشف التلقائي؛ حزمة متعددة التطبيقات تتضمن CNC_NSO المدمج. إنها تملأ شجرة التشكيل المتوقعة من قبل Ansible ومن خلال منطق حزمة التحقق.
يوفر إطار العمل إمكانية التحكم في السياسات بشكل هرمي (التحقق الفردي من خلال تطبيق →Global → App Stage →) والاكتشاف التلقائي لعمليات التحقق وتحسين إعداد التقارير للسجلات المنظمة ودمج JIRA الاختياري. يقوم المشغلون بتشغيل مراحل ما قبل النشر وما بعد النشر وفقا لنفس المواصفات المستخدمة للتركيب، مما يعمل على تنظيم التشغيل التلقائي مع بوابات الجودة المناسبة لانضباط تغيير المؤسسة.
مقياس إرشادي على فرع نموذجي: بناء على أمر عمليات التحقق التي تمت عبر BPA و NSO (سيتم تأكيد عمليات العد دون إجراء التحقق من صحة القائمة-سحب السحب الخاص بك).
يستمد متغيرات التخزين المطلوبة من المواصفات أو المطالبة أو قبول كلمات المرور في النهج، وينبعث ملف كلمة المرور المشفر group_vars/all_secrets.yaml بالإضافة إلى ملف كلمة مرور Vault ل Ansible—تقليل تضمين سر الأقران في دفاتر التشغيل.
| نمط | ملخص |
|---|---|
| أصلي (AlmaLinux / RHEL) | set Pythonpath وansible_config؛ قم بتشغيل الحزم والسقف والتحقق من الصحة وبرنامج Orchestrator ودفاتر التشغيل لكل دليل منتج |
| مثبت مستند إلى Docker | scripts/setup_installer.sh وscripts/start_installer.sh مع حوامل أجهزة مضيفة للمصنوعات كبيرة الحجم؛ |
| فراغ هوائي | حزمة على جهاز متصل؛ حزمة النقل؛ إستخلاص على الهدف؛ تركيب مع — فراغ الهواء |
| إنشاء حزمة نظام التشغيل MacOS | Usepython3 ./setup_cxinstaller_prereqs.py على Mac لإعداد الحزم؛ يبقى النشر المستهدف موجها إلى نظام التشغيل Linux لكل مستندات المشروع |
مثال على الاستدعاء قبل النشر:
cd /opt/cx-installer
python3 validation_checks/run_validation_checks.py -t pre -s specification/your_spec.yaml
مع علامات إختيارية:
هذا نموذج للاستيراد الداخلي حيث يمكن اتباع نفس المبدأ لتثبيت تطبيق Cisco لمزيد من خلال إنشاء المستودع.
| نسق | نتيجة |
|---|---|
| الوقت والكدح | خطوات يدوية أقل؛ حالات الفشل التي تم اكتشافها في مرحلتي التحقق من الصحة والحزم بدلا من التأخير في Ansible أو مثبتات المنتجات |
| تناسق | تساهم المخططات والأدوار المشتركة والتخطيط الفني عبر الارتباطات في تقليل الاختلافات بين "ندفة الثلج" |
| عمليات غير متصلة | يدعم نقل الحزمة الموثقة الشبكات المنظمة دون تنزيلات وقت التشغيل |
| حوكمة | تدعم تقارير التحقق المهيكلة ومواقف JIRA الاختيارية سجلات التغيير والمتابعة |
| إمتدادية | نقاط امتداد واضحة: ARTIFACT_DEFS، المعالجات، الأدوار الجديدة/دفاتر التشغيل، مخططات النوايا |
المقاييس الكمية (مدة التثبيت، ومعدلات العيوب) محددة التنظيم؛ يجب على الفرق أن تكون خط الأساس في مقابل السجلات القديمة عن المخططات المماثلة.
يفضل المهام الجديدة داخل الأدوار المتماسكة؛ تقديم أدوار جديدة عندما تكون الحدود واضحة. كتب تشغيل WireBooks موثقة خاصة بالمبتدئين. الاحتفاظ بالإعدادات الافتراضية الآمنة في group_vars / vars.
تحديث مخططات YAML Underintent-generator/schema/ و chatBot؛ تأكد من أن الملفات المولدة تطابق أسماء الملفات المتوقعة بواسطةAPP_CONFIG.
يجمع برنامج CX القابل للبرمجة بين المواصفات الإعلانية ومستوى التحكم Python للتغليف والتحقق ومستوى التشغيل التلقائي الافتراضي لعمليات النشر القابلة للتطوير والقابلة للتكرار للمنتجات ذات الصلة بالوحدات المختلفة للبنية الأساسية ونماذج الاتصال. حيث تعمل بنيتها على فصل النية عن التنفيذ بشكل مقصود، وتطبيق توقعات النتائج المبنية على البيانات حيثما كان ذلك عمليا، وتضمين عمليات التحقق من الصحة وتدفقات عمل التخزين المناسبة لتسليم المؤسسة. بالنسبة لمرفقات التشغيل الكاملة - جداول كتاب التشغيل ومصفوفات أستكشاف المشكلات وحلها ومصفوفات الاتصال ومراجع الأوامر الموسعة - راجع التقرير الرسمي الداخلي المصاحب.
| مستند | مسار |
|---|---|
| دليل المشغل | readme.md |
| إصدار كتاب التشغيل | release_guide.md |
| مرفقات البنية الداخلية | docs/CX_INSTALLER_TECHNICAL_WHITE_PAPER_INTERNAL.md |
| محطة إرساء (عبر الإنترنت / فتحة تهوية / إستخدام) | Setup_Online_Docker.md و Setup_Airgapped_Docker.md و USE_DOCKER.md |
| إطار التحقق من الصحة | docs/validation_checks/README.md |
| برنامج Vault Manager | docs/scripts/VAULT_SECRETS_MANAGER.md |
| أدلة المنتج | docs/nso.md، docs/bpa.md، docs/CNC_VCENTER_DEPLOYMENT_GUIDE.md، docs/CNC_OCP_DEPLOYMENT_GUIDE.md، docs/CNC_NSO_DEPLOYMENT_GUIDE.md |
| مولد الهدف | intent-generator/README.md |
| نظرة عامة على تدفق القاعدة | docs/HowItWorks.md |
cx-installer/
├── ansible_playbooks/ # ansible.cfg, files/, group_vars/, playbooks/, roles/, vars/
├── apps/ # App-specific supporting content
├── deploy/ # Python deploy helpers, logging utilities
├── docs/ # Technical documentation
├── intent-generator/ # Chatbot, rule engine, schemas, output/
├── scripts/ # Docker setup/start, vault_secrets_manager.py, ...
├── specification/ # User specs, samples, common fragments
├── validation_checks/ # Policies, runners, reports
├── cx_deploy_orchestrator.py
├── setup_cxinstaller_prereqs*
├── requirements.txt
└── README.md
نقاط التركيز بعد الإعداد (بشكل نموذجي):ansible_playbooks/files/artifacts/، files/bin/، files/charts/، files/images/.
Script:CX_DEPLOY_ORCHESTRATOR.py
| حجة | الوصف |
|---|---|
| —app / -a | nso | crossworksuite | bpa |
| —المواصفات / -s | مسار إلى مواصفات YAML |
| —الخطوة | generate-intent | verify-bundle | التثبيت |
| —verify-only | دققت حزمة؛ إنهاء غير صفري إذا لم يكن جاهزا |
| —تشغيل جاف | التشغيل الجاف حيث يكون مدعوما |
| —مواصفات القائمة | سرد المواصفات المعروفة |
البيئة (جلسة نموذجية):
export PYTHONPATH=$(pwd)
export ANSIBLE_CONFIG=$(pwd)/ansible_playbooks/ansible.cfg
| مدة | التعريف |
|---|---|
| المواصفات | مواصفات المستخدم YAML: الأنظمة الأساسية والتطبيقات والهيكل والمسارات والمستحقات |
| نية | YAML من مولد النية أو المعادل اليدوي |
| حزمة | شجرة المثبت المعلبة (غالبا من Tarball) لنقل فراغ الهواء |
| Orchestrator | CX_DEPLOY_ORCHESTRATOR.py — التحقق / الوجهة / تثبيت التنسيق |
| التحقق من صحة المكونات | يتحقق نظام الملفات من وجود الثنائيات/الصور حسب المواصفات |
| قبوة | ملف متغير مشفر بواسطة Vault للأسرار |
| إقتربت | حزمة برنامج تشغيل عنصر الشبكة (NSO) |
| CFS / RFS | مفاهيم طبولوجيا مصدر منتجات الشبكات/مصدر المنتجات الاحتياطي |
| فراغ هوائي | بيئة بدون وصول لوقت التثبيت إلى نقاط نهاية تنزيل الحزمة |
| الإصدار | التاريخ | ملاحظات |
|---|---|---|
| 1.0 | 2026-03-27 | التقرير التقني الأولي الجاهزة للنشر (تهيئة أداة التثبيت القابلة للبرمجة) |
| المراجعة | تاريخ النشر | التعليقات |
|---|---|---|
2.0 |
28-Apr-2026
|
الإصدار الأولي، التنسيق |
1.0 |
28-Apr-2026
|
الإصدار الأولي |