استكشاف الأخطاء وإصلاحها
دليل مبني على الأعراض لأكثر المشكلات شيوعاً. ابدأ بـ فحص الصحة اليومي لتحديد موقع المشكلة، ثم انتقل إلى القسم ذي الصلة.
الفرز الأولي
oc get pods -n duokey -o wide # what is not Running/Ready?
oc describe pod <pod> -n duokey # events at the bottom
oc logs <pod> -n duokey --tail=200 # application errors
الحاويات لا تبدأ
| العرَض | السبب المحتمل | الحل |
|---|---|---|
Pending | موارد غير كافية / لا عقدة قابلة للجدولة | افحص oc describe pod؛ أضِف سعة أو خفّف قيود التنافر (anti-affinity) |
CrashLoopBackOff | خطأ في التطبيق أو سرّ مفقود | افحص oc logs؛ تحقّق من مزامنة ExternalSecret |
CreateContainerConfigError | Secret/ConfigMap مفقود | تأكّد من أن ESO أنتج الـ Secret (أدناه) |
ImagePullBackOff | السجل غير قابل للوصول / صورة غير موقّعة | افحص سجل المرآة وسياسة توقيع الصور |
الأسرار لا تُحقَن
oc get externalsecret -n duokey
oc describe externalsecret <name> -n duokey # see SecretSyncedError reasons
oc get secretstore -n duokey
| السبب | الحل |
|---|---|
| فشل المصادقة مع مدير الأسرار | تحقّق من دور مصادقة Kubernetes وتعيين ServiceAccount في Vault/OpenBao/CyberArk |
| OpenBao مختوم | افكك ختم النصاب: bao operator unseal |
| المسار / المفتاح غير موجود | تأكّد من مسار السرّ في SecretStore ومن وجود القيمة المصدر |
راجع تكامل مدير الأسرار.
مشكلات قاعدة البيانات
# Replication health
oc exec -n duokey <pg-primary> -- psql -c "SELECT * FROM pg_stat_replication;"
| العرَض | السبب | الحل |
|---|---|---|
| تزايد تأخّر النسخة المتماثلة | ضغط الشبكة / الإدخال والإخراج | افحص عرض النطاق الترددي وإدخال/إخراج القرص على النسخ المتماثلة |
| لا أساسي / للقراءة فقط | تجاوز فشل قيد التنفيذ | دع المشغّل يرقّي نسخة متماثلة؛ تحقّق من النصاب |
| رفض الاتصال | جدار الحماية / max_connections | افحص قاعدة جدار الحماية (5432) وتجمّع الاتصالات |
GitOps / ArgoCD
argocd app get duokey
argocd app sync duokey # force reconcile
argocd app diff duokey # see drift
| العرَض | السبب | الحل |
|---|---|---|
OutOfSync | تغيير يدوي / انحراف | أعِد المزامنة؛ حقّق فيمن غيّر حالة العنقود |
Degraded | بيان خاطئ / حاوية فاشلة | افحص المورد الذي يشير إليه ArgoCD بوصفه غير سليم |
| تعذّر الوصول إلى المستودع | GitLab غير قابل للوصول | افحص جدار الحماية (443/22) وبيانات الاعتماد |
الدخول / TLS
| العرَض | السبب | الحل |
|---|---|---|
| 503 من الموجّه | لا توجد حاويات خلفية سليمة | أصلح الحاويات الخلفية أولاً |
| خطأ في الشهادة | شهادة منتهية / خاطئة | جدّد/استبدل شهادة المسار |
| إعادة تعيين الاتصال | عدم توافق ملف تعريف TLS / التشفير | واءِم tlsSecurityProfile وإعدادات موازن التحميل/WAF (أمن الشبكة) |
| طلبات محظورة | إيجابية كاذبة من WAF | اضبط قاعدة WAF؛ افحص سجلات WAF |
الأداء
- افحص المقاييس الرئيسية بحثاً عن التشبّع (وحدة المعالجة/الذاكرة، اتصالات قاعدة البيانات، زمن الاستجابة).
- تأكّد من توزّع الحاويات عبر العقد/المناطق (التنافر).
- راجع أعداد HPA / النسخ المتماثلة إذا تجاوز معدل الطلبات السعة.
التعافي من الكوارث
لإجراءات الاستعادة الكاملة أو الجزئية، راجع النسخ الاحتياطي والتعافي من الكوارث.
جمع حزمة الدعم
عند التصعيد إلى دعم DuoKey، أرفِق:
oc adm must-gather # cluster-wide diagnostics
oc get events -n duokey --sort-by=.lastTimestamp
oc logs <failing-pod> -n duokey --previous
argocd app get duokey -o yaml
أرسِل إلى [email protected] مع وصف للعرَض، والجدول الزمني، وأي تغييرات حديثة.