المتطلبات المسبقة
قبل أن تبدأ، تأكّد من أن بيئتك تفي بالمتطلبات أدناه. نوصي بمراجعة قائمة التحقق هذه مع ممثّل 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) | 8 | 32 GB | تستضيف حاويات الواجهة الأمامية والخلفية وقابلية الرصد |
طبقة الأجهزة الافتراضية المخصّصة
| الجهاز الافتراضي | العدد | vCPU | ذاكرة الوصول العشوائي | القرص |
|---|---|---|---|---|
| OpenBao | 3 (توفر عالٍ / Raft) | 2 | 4 GB | 50 GB SSD |
| PostgreSQL | 3 (1 أساسي + 2 نسخ متماثلة) | 4 | 16 GB | 200 GB SSD |
| GitLab | 1 | 4 | 8 GB | 100 GB |
يمكن مَحكَمة (virtualize) طبقة الأجهزة الافتراضية على مُشرِف الأجهزة الافتراضية الحالي لديك (VMware، أو Proxmox، أو KVM/OpenStack). أبقِ OpenBao وPostgreSQL على مضيفَين فعليَّين منفصلَين حيثما أمكن لتجنّب نقطة فشل واحدة.
تحديد حجم DKE داخل المؤسسة
بالنسبة لعمليات نشر التشفير مزدوج المفتاح (DKE)، يكون الحمل السائد هو طلبات تغليف/فك تغليف المفاتيح، وهي خفيفة لكنها اندفاعية — إذ ترتفع فجأة عندما يفتح المستخدمون مستندات محمية أو يحفظونها. حدّد الحجم من أجل ذروة التزامن، وليس فقط إجمالي عدد المستخدمين.
الموارد لكل مكوّن (خط أساس التوفر العالي)
هذه هي أحجام الطلبات لكل نسخة متماثلة لمكوّنات DuoKey، مع الحد الأدنى لعدد النسخ المتماثلة لنشر عالي التوفر. تأتي الصور من سجل Harbor.
| المكوّن | vCPU / نسخة | الذاكرة / نسخة | التخزين | الحد الأدنى للنسخ (توفر عالٍ) |
|---|---|---|---|---|
| Cockpit (الواجهة الأمامية) | 2 | 4 GB | 20 GB | 2 |
| Cockpit API (الخلفية) | 4 | 8 GB | 20 GB | 3 |
| KMS API (نقطة نهاية مفاتيح DKE) | 2 | 4 GB | 20 GB | 2 |
| عقدة MPC / TSM | 4 | 8 GB | 20 GB | 3 |
| PostgreSQL (MPC + Cockpit) | 4 | 16 GB | 100 GB | 3 |
| ذاكرة Redis المؤقتة | 4 | 8 GB | 50 GB | 3 |
| وسيط الرسائل (RabbitMQ/Kafka) | 4 | 8 GB | 50 GB | 3 |
| OpenBao (طبقة الأجهزة الافتراضية) | 2 | 4 GB | 50 GB | 3 |
| حزمة المراقبة | 8 | 16 GB | 200 GB | 1 |
| حزمة التسجيل | 8 | 16 GB | 600–1000 GB | 1 |
مستويات تحديد الحجم حسب عدد المستخدمين
تُشتَق موارد كل مكوّن أعلاه من التحديد المرجعي للحجم لدى DuoKey. أما مستويات عدد المستخدمين أدناه فهي نقاط انطلاق إرشادية لتسهيل التخطيط — وهي ليست تعييناً تعاقدياً. يعتمد الحجم الفعلي على نشاط المستندات وذروة التزامن ويُتحقَّق منه مع DuoKey لنشرك.
يحدّد الجدول أدناه حجم عقد عمّال تطبيق OpenShift (الحاويات أعلاه). وهو يستثني عقد التحكّم الثلاث وطبقة البيانات/الأجهزة الافتراضية المخصّصة (PostgreSQL، OpenBao)، التي تتوسّع مع جدول كل مكوّن أعلاه.
| المستوى | المستخدمون | عقد عمّال التطبيق | لكل عقدة | ملاحظات |
|---|---|---|---|---|
| تجريبي / إثبات مفهوم | ≤ 1,000 | 3 | 8 vCPU / 32 GB | حد أدنى للتوفر العالي، نسخ متماثلة مخفّضة |
| قياسي | ≤ 10,000 | 3–4 | 8 vCPU / 32 GB | بنية التوفر العالي المرجعية |
| كبير | ≤ 50,000 | 6 | 16 vCPU / 64 GB | نسخ متماثلة موسّعة + HPA |
| مؤسسي | 100,000+ | 8+ | 16 vCPU / 64 GB | مخصّص؛ عادةً متعدد المواقع |
- عقد MPC مقيّدة بوحدة المعالجة أثناء عمليات المفاتيح — وسّعها أولاً تحت الحمل الثقيل لـ DKE.
- PostgreSQL يُستخدم مخزن بيانات بسيطاً (لا استعلامات ثقيلة)، لذا فهو مقيّد بالذاكرة/الإدخال والإخراج أكثر من وحدة المعالجة.
- Redis والوسيط للتمرير/التخزين المؤقت — استهلاك متواضع لوحدة المعالجة.
- فعّل HorizontalPodAutoscaler على عقد Cockpit API وMPC لامتصاص ارتفاعات الطلبات.
هذه الأرقام نقطة انطلاق آمنة. سيصقلها ممثّل 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 ← المصدر | ArgoCD | GitLab | 443/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.
بمجرد توفّر هذه العناصر، تابِع إلى التثبيت.