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

المتطلبات المسبقة

قبل أن تبدأ، تأكّد من أن بيئتك تفي بالمتطلبات أدناه. نوصي بمراجعة قائمة التحقق هذه مع ممثّل DuoKey لديك خلال مرحلة التخطيط.

المنصة​

المتطلبالموصى به
OpenShiftإصدار 4.x مدعوم حالياً (يُدعم ما يكافئه من OKD)
طوبولوجيا العنقود3 عقد تحكّم + ≥ 3 عقد عمّال عبر ≥ 3 نطاقات فشل
زمن تشغيل الحاوياتCRI-O (الافتراضي في OpenShift)
التخزينOpenShift Data Foundation (ODF) أو مشغّل CSI يوفّر وحدات كتلية ReadWriteOnce ودعم اللقطات
الدخولموجّه دخول OpenShift (Ingress Router) المدمج مع DNS بأحرف بدل (wildcard) وشهادة TLS
التخزين الكائنيحاوية (bucket) متوافقة مع S3 للنسخ الاحتياطية (ODF NooBaa، أو MinIO، أو خارجية)

تحديد حجم الحوسبة (نقطة انطلاق)​

هذه أرقام خط أساس لنشر إنتاجي عالي التوفر. يعتمد تحديد الحجم النهائي على عدد المفاتيح والعملاء وحجم الطلبات.

عقد عمّال OpenShift​

الملف الشخصيvCPUذاكرة الوصول العشوائيملاحظات
لكل عامل (بحد أدنى 3)832 GBتستضيف حاويات الواجهة الأمامية والخلفية وقابلية الرصد

طبقة الأجهزة الافتراضية المخصّصة​

الجهاز الافتراضيالعددvCPUذاكرة الوصول العشوائيالقرص
OpenBao3 (توفر عالٍ / Raft)24 GB50 GB SSD
PostgreSQL3 (1 أساسي + 2 نسخ متماثلة)416 GB200 GB SSD
GitLab148 GB100 GB
ملاحظة

يمكن مَحكَمة (virtualize) طبقة الأجهزة الافتراضية على مُشرِف الأجهزة الافتراضية الحالي لديك (VMware، أو Proxmox، أو KVM/OpenStack). أبقِ OpenBao وPostgreSQL على مضيفَين فعليَّين منفصلَين حيثما أمكن لتجنّب نقطة فشل واحدة.

تحديد حجم DKE داخل المؤسسة​

بالنسبة لعمليات نشر التشفير مزدوج المفتاح (DKE)، يكون الحمل السائد هو طلبات تغليف/فك تغليف المفاتيح، وهي خفيفة لكنها اندفاعية — إذ ترتفع فجأة عندما يفتح المستخدمون مستندات محمية أو يحفظونها. حدّد الحجم من أجل ذروة التزامن، وليس فقط إجمالي عدد المستخدمين.

الموارد لكل مكوّن (خط أساس التوفر العالي)​

هذه هي أحجام الطلبات لكل نسخة متماثلة لمكوّنات DuoKey، مع الحد الأدنى لعدد النسخ المتماثلة لنشر عالي التوفر. تأتي الصور من سجل Harbor.

المكوّنvCPU / نسخةالذاكرة / نسخةالتخزينالحد الأدنى للنسخ (توفر عالٍ)
Cockpit (الواجهة الأمامية)24 GB20 GB2
Cockpit API (الخلفية)48 GB20 GB3
KMS API (نقطة نهاية مفاتيح DKE)24 GB20 GB2
عقدة MPC / TSM48 GB20 GB3
PostgreSQL (MPC + Cockpit)416 GB100 GB3
ذاكرة Redis المؤقتة48 GB50 GB3
وسيط الرسائل (RabbitMQ/Kafka)48 GB50 GB3
OpenBao (طبقة الأجهزة الافتراضية)24 GB50 GB3
حزمة المراقبة816 GB200 GB1
حزمة التسجيل816 GB600–1000 GB1

مستويات تحديد الحجم حسب عدد المستخدمين​

أرقام إرشادية — أكّدها مع DuoKey

تُشتَق موارد كل مكوّن أعلاه من التحديد المرجعي للحجم لدى DuoKey. أما مستويات عدد المستخدمين أدناه فهي نقاط انطلاق إرشادية لتسهيل التخطيط — وهي ليست تعييناً تعاقدياً. يعتمد الحجم الفعلي على نشاط المستندات وذروة التزامن ويُتحقَّق منه مع DuoKey لنشرك.

يحدّد الجدول أدناه حجم عقد عمّال تطبيق OpenShift (الحاويات أعلاه). وهو يستثني عقد التحكّم الثلاث وطبقة البيانات/الأجهزة الافتراضية المخصّصة (PostgreSQL، OpenBao)، التي تتوسّع مع جدول كل مكوّن أعلاه.

المستوىالمستخدمونعقد عمّال التطبيقلكل عقدةملاحظات
تجريبي / إثبات مفهوم≤ 1,00038 vCPU / 32 GBحد أدنى للتوفر العالي، نسخ متماثلة مخفّضة
قياسي≤ 10,0003–48 vCPU / 32 GBبنية التوفر العالي المرجعية
كبير≤ 50,000616 vCPU / 64 GBنسخ متماثلة موسّعة + HPA
مؤسسي100,000+8+16 vCPU / 64 GBمخصّص؛ عادةً متعدد المواقع
قواعد عامة
  • عقد MPC مقيّدة بوحدة المعالجة أثناء عمليات المفاتيح — وسّعها أولاً تحت الحمل الثقيل لـ DKE.
  • PostgreSQL يُستخدم مخزن بيانات بسيطاً (لا استعلامات ثقيلة)، لذا فهو مقيّد بالذاكرة/الإدخال والإخراج أكثر من وحدة المعالجة.
  • Redis والوسيط للتمرير/التخزين المؤقت — استهلاك متواضع لوحدة المعالجة.
  • فعّل HorizontalPodAutoscaler على عقد Cockpit API وMPC لامتصاص ارتفاعات الطلبات.
يُتحقَّق من الحجم النهائي مع DuoKey

هذه الأرقام نقطة انطلاق آمنة. سيصقلها ممثّل DuoKey لديك مقابل عدد المستخدمين الفعلي لديك، ونشاط المستندات، وذروة التزامن، وأهداف التوفر (موقع واحد مقابل مراكز بيانات متعددة).

البرمجيات والمشغّلات​

ثبّت مشغّلات OpenShift التالية (عبر OperatorHub) قبل النشر:

  • OpenShift GitOps (ArgoCD)
  • External Secrets Operator (ESO)
  • مشغّل PostgreSQL — CloudNativePG أو Patroni (إذا كنت تشغّل PostgreSQL داخل العنقود بدلاً من الأجهزة الافتراضية)
  • OpenShift Data Foundation (إذا كنت تستخدم ODF للتخزين)
  • Velero / OADP (OpenShift API for Data Protection) للنسخ الاحتياطي

برمجيات خارجية:

  • OpenBao ≥ أحدث إصدار مستقر، مهيّأ مع تخزين Raft المدمج
  • GitLab (مستضاف ذاتياً) أو الوصول إلى GitLab SaaS
  • Redis ≥ 7 (عنقود مقسّم) — StatefulSet داخل العنقود أو على أجهزة افتراضية

الشبكة​

التدفّقالمصدرالوجهةالمنفذ
المستخدم ← التطبيقالعملاءموجّه الدخول443/TCP
التطبيق ← الأسرارعقد العمّالأجهزة OpenBao الافتراضية8200/TCP
التطبيق ← قاعدة البياناتعقد العمّالأساسي/نسخ PostgreSQL المتماثلة5432/TCP
GitOps ← المصدرArgoCDGitLab443/TCP، 22/TCP
النسخ الاحتياطيالعنقود / Veleroالتخزين الكائني443/TCP
OpenBao ← HSM (اختياري)أجهزة OpenBao الافتراضيةHSMحسب مورّد HSM

المتطلبات:

  • سجل DNS بأحرف بدل (مثل *.duokey.example.local) يشير إلى عنوان IP الافتراضي لموجّه الدخول.
  • شهادات TLS لاسم (أسماء) مضيف التطبيق — المرجع المصدّق الداخلي مقبول للمواقع المعزولة تماماً.
  • تقسيم الشبكة الموصى به: شبكات VLAN منفصلة لحركة مرور التطبيق، والآمنة (HSM)، والخلفية/التخزين.
  • لعمليات التثبيت المعزولة تماماً: سجل مرآة (مثل Quay / mirror.registry) لصور إصدار OpenShift والمشغّلات.

حراسة المفاتيح: DuoKey MPC و/أو HSM​

جذر الثقة الأساسي لـ DuoKey هو الحوسبة متعددة الأطراف (MPC) الخاصة به: تُقسَّم مادة المفتاح إلى حصص بحيث لا تحتفظ أي عقدة أو مسؤول بمفتاح كامل على الإطلاق — دون الحاجة إلى أجهزة HSM مخصّصة.

بالنسبة لعمليات النشر التي تتطلّب أيضاً جذر ثقة مبنياً على الأجهزة، يتكامل DuoKey مع HSM من Securosys (PKCS#11 / KMIP). وفّر:

  • إمكانية الوصول الشبكي من أجهزة OpenBao الافتراضية إلى HSM من Securosys (أو Securosys Cloud HSM / نقطة نهاية CloudsJMS)، ويفضّل أن يكون على شبكة VLAN مخصّصة ومُحصّنة.
  • بيانات اعتماد عميل HSM / قسم (partition) مهيّأ لـ OpenBao.

الوصول والمهارات​

  • وصول بصلاحية cluster-admin إلى عنقود OpenShift.
  • وصول إداري إلى مُشرِف الأجهزة الافتراضية وDNS.
  • إلمام بـ oc/kubectl، ومفاهيم GitOps، وعمليات OpenBao.

بمجرد توفّر هذه العناصر، تابِع إلى التثبيت.