إنتقل إلى المحتوى الرئيسي

البنية المرجعية

نشر DuoKey المحلي هو بنية هجينة عالية التوفر (HA) بمستوى إنتاجي. تجمع بين مجموعة OpenShift لأحمال عمل التطبيقات المحوّاة وبنية تحتية من أجهزة افتراضية مخصصة للبيانات الأساسية، وCI/CD، وإدارة الأسرار — كلها مدعومة بخطة شاملة للنسخ الاحتياطي والاستعادة.

البنية المرجعية لـ OpenShift المحلية من DuoKey

مصممة للتكييف

تصف البنية أدناه التصميم المرجعي الموصى به. يمكن تكييف خيارات التخزين والدخول (ingress) ومتجر الكائنات مع بيئتك (bare metal، أو VMware، أو OpenStack، أو Nutanix) — سيساعدك ممثل DuoKey على تخصيصها.


المكونات الأساسية​

1. الأسرار المركزية — OpenBao الخارجي​

  • العزل المستقل — يعمل OpenBao (النسخة المتفرعة مفتوحة المصدر التي يقودها مجتمع Linux Foundation من Vault) خارجيًا على أجهزة افتراضية مخصصة، مكوّنًا في إعداد HA مع محرك تخزين إجماع Raft.
  • مصافحة مصادقة آمنة — تشغّل مجموعة OpenShift مشغّل الأسرار الخارجية (ESO). عند بدء تشغيل حاوية تطبيق (pod)، يقوم ESO بالمصادقة مع OpenBao عبر طريقة مصادقة Kubernetes باستخدام رمز ServiceAccount الخاص بالحاوية.
  • حقن ديناميكي غير دائم — تُجلب بيانات الاعتماد، وسلاسل اتصال قاعدة البيانات، ومفاتيح ذاكرة التخزين المؤقت عند الطلب من OpenBao وتُحقن كبدائيات Kubernetes Secret أصلية مُعيّنة إلى وحدات تخزين مؤقتة في الذاكرة (tmpfs). لا يُكتب أي سر خام أبدًا إلى تخزين المجموعة أو يُرمّز بشكل ثابت في Git.
تكامل HSM

لأعلى مستوى ضمان، تُثبّت عهدة المفاتيح إما في MPC الخاص بـ DuoKey (حصص مفاتيح موزعة، دون نقطة اختراق واحدة) أو في HSM من Securosys. راجع المتطلبات المسبقة للتفاصيل.

2. التسليم المستمر والتحكم في المصدر — GitLab​

  • مركز المصدر والسجل — تقيم مستودعات الكود، وخطوط أنابيب CI، وصور الحاويات الأساسية المخصصة على مثيل GitLab ذاتي الاستضافة يعمل على جهاز افتراضي مستقل. يمكن استبدال هذا بعرض SaaS من GitLab حيث تسمح السياسة.

3. قاعدة البيانات الدائمة — مجموعة PostgreSQL​

  • التوفر العالي لقاعدة البيانات — يعمل PostgreSQL تحت مشغّل قاعدة بيانات سحابي أصلي (مثل CloudNativePG أو Patroni)، محافظًا على عقدة أساسية للقراءة والكتابة وعدة نسخ متماثلة احتياطية ساخنة (hot-standby).

4. تنسيق المنصة والتطبيقات​

  • مستوى تحكم OpenShift — يستفيد من مشغّلي OpenShift المدمجين لإدارة دورة الحياة، والشبكات، والتوجيه، وترقيات المنصة تلقائيًا.
  • الدخول وموازنة التحميل — يتعامل موجّه دخول OpenShift المدمج عالي التوفر مع حركة المرور الطرفية، وينهي TLS، ويوازن التحميل عبر حاويات الواجهة الأمامية. يستخدم التوجيه الداخلي بين الواجهة الأمامية وواجهة Rust API الخلفية خدمات Kubernetes الأصلية من نوع headless وClusterIP.
  • طوبولوجيا HA — تستخدم جميع حاويات الواجهة الأمامية والخلفية قواعد مضادة التقارب (anti-affinity) الصريحة، مما يضمن توزيع أحمال العمل عبر عقد عمل مختلفة ومناطق توفر (AZs) منفصلة.
  • مطابقة GitOps — يتتبع مشغّل OpenShift GitOps (ArgoCD) داخل المجموعة الفروع في GitLab باستمرار. عند تغيّر بيانات تطبيق البرنامج، يكتشف ArgoCD الانحراف ويدفع التحديثات بشكل نظيف إلى مساحات الأسماء المستهدفة.

5. طبقة البيانات الدائمة​

  • تنسيق ذو حالة — تُنشر محركات قاعدة البيانات والتخزين المؤقت كـ StatefulSets للحفاظ على الهويات الشبكية وتعيينات أجهزة الكتل عبر عمليات إعادة التشغيل.
  • موفّر التخزين — يوفَّر الاستمرار عبر OpenShift Data Foundation (ODF) أو برنامج تشغيل CSI مناسب لمنصتك (مثل OpenStack Cinder، vSphere CSI).
  • التوفر العالي للتخزين المؤقت — يُكوّن Redis كـ مجموعة مجزّأة (sharded) متعددة العقد مع تجاوز فشل آلي بين الأساسي والنسخة المتماثلة.

6. القابلية للملاحظة — VictoriaMetrics وVictoriaLogs​

  • المقاييس — تكشط مثيلات vmagent خفيفة الوزن نقاط نهاية الأداء وتوجّهها إلى مكدس VictoriaMetrics موزّع (vmstorage، vminsert، vmselect).
  • السجلات — تجمع وكلاء Vector stdout/stderr وتعيد توجيهها إلى VictoriaLogs للبحث المنظّم.
  • لوحات المعلومات — يتصل Grafana مدمج بكليهما كمصادر بيانات للوحات معلومات التشغيل.

تدفق الطلبات والبيانات​


الشبكة ومناطق التوفر​

  • توزَّع حاويات التطبيقات عبر ثلاث عقد عمل على الأقل تمتد عبر مناطق توفر / نطاقات فشل منفصلة.
  • تُقسّم طبقة الأجهزة الافتراضية المخصصة (OpenBao، PostgreSQL، GitLab) على شبكات معزولة، ويفضّل مع VLAN منفصل ومحصّن لأي HSM.
  • تُشفَّر جميع حركة المرور بين المكونات أثناء النقل (TLS)؛ ولا يُوصل إلى OpenBao إلا عبر قنوات مصادَق عليها بشكل متبادل.

راجع المتطلبات المسبقة ← الشبكة لمتطلبات الشبكة وجدار الحماية الملموسة.