DevOps بالعربي
مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
الإغلاق الرشيق: ليه كل نشر بيقطع طلبات مستخدمينك وإزاي توقفه
لو كل deploy بيرجّع أخطاء 503 لثوانٍ، المشكلة إن العملية بتموت قبل ما تخلّص طلباتها. دليل للمحترف يبني إغلاقًا رشيقًا بـ SIGTERM وpreStop في Kubernetes ينزّل الطلبات المقطوعة إلى صفر، بكود Node.js وGo وYAML شغّال وأرقام ومصادر رسمية.
الـ CPU Throttling في Kubernetes: ليه خدمتك بطيئة والمعالِج نصّه فاضي
خدمتك بطيئة والـ CPU utilization على العقدة منخفض؟ المشكلة غالبًا في حدّ المعالج اللي بيتحوّل لحصّة CFS تخنق التطبيق. شرح للمحترف بمثال بسيط ثم علميًا، مع أوامر قياس النسبة، الحل بأرقام، الـ trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
ليه الـ Pod بيتقتل بـ OOMKilled والعقدة نصها فاضي؟
لو الـ Pod بيتقتل بـ OOMKilled والعقدة نصها ذاكرة فاضية، المشكلة في الـ memory limit مش في حجم العقدة. شرح للمحترف لـ Requests وLimits وQoS وExit 137، مع أوامر kubectl وYAML قابل للنسخ، أرقام، trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
GitOps بـ Argo CD: ليه النشر بالـ Push بيكسر عنقودك والـ Pull بيصلحه
لو بتعمل deploy بـ kubectl apply من الـ CI، انت مدّي مفاتيح عنقودك لأي حد يعدّل الـ pipeline. GitOps بيقلب الاتجاه: وكيل جوّه العنقود بيسحب الحالة من Git ويصحّح أي انحراف تلقائيًا. دليل للمحترف بمثال بسيط ثم علميًا، تعريف Argo CD Application كامل، أرقام، trade-offs، ومتى لا تستخدمه، مع مصادر.
ndots:5: ليه نداء DNS واحد في Kubernetes بيتحوّل لـ 5 استعلامات
لو خدمتك في Kubernetes بتنادي API خارجي وبتحس بتأخير غامض، غالبًا السبب سطر options ndots:5 في resolv.conf بيحوّل كل نداء لخمسة استعلامات DNS. المقال للمحترف يشرح السبب بمثال بسيط ثم علميًا، مع باتش dnsConfig قابل للنسخ، أرقام قبل وبعد، الـ trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
CPU Throttling في Kubernetes: ليه بودك بطيء والمعالج مستريح؟
لو الـ p99 بتاع خدمتك بيقفز لثانيتين ومتوسط استهلاك المعالج تحت 40%، غالبًا مش محتاج عقدة أقوى — الـ kernel بيكبح بودك بسبب CFS quota. مقال للمحترف يشرح المفهوم بمثال بسيط ثم علميًا، مع أوامر cpu.stat وPromQL للكشف، سيناريو بأرقام (كبح 63% ← 6%، p99 من 2100ms لـ 240ms)، ثلاث روافع حل بمقايضاتها، تحذير على مستوى الـ kernel، ومتى لا تشيل الحدود، مع مصادر رسمية.
انفجار الكارديناليتي في Prometheus: ليه بياكل رامك وبيموت بـ OOMKilled، وإزاي توقفه
لو Prometheus بيتقتل بـ OOMKilled والرام بتقفز فجأة من غير زيادة ترافيك، غالبًا السبب ليبل واحد غير محدود (زي user_id) بيفجّر عدد السلاسل الزمنية. اعرف تكتشف المشكلة بـ PromQL و/status/tsdb، وتصلّحها بالـ relabeling، بأرقام حقيقية وحدود قابلة للتطبيق ومصادر رسمية.
nf_conntrack ممتلئ: ليه سيرفرك بيرفض الاتصالات فجأة وإزاي تصلّحها
سيرفرك بيرفض اتصالات جديدة والـ CPU والرام مرتاحين؟ غالبًا جدول nf_conntrack امتلأ فبيدروب كل SYN جديد. مقال للمحترف يشرح تتبّع الاتصال بمثال دفتر الفندق، ثم علميًا، مع أوامر تشخيص، ثلاث روافع حل (رفع السقف، تقليل الـ timeouts، NOTRACK) بأرقام حقيقية للذاكرة، trade-offs، ومتى لا تستخدمها، مع مصادر رسمية.
ليه عمليات Zombie بتتراكم لمّا تطبيقك يشتغل كـ PID 1 في Docker
عمليات Zombie بتتراكم لمّا تطبيقك يشتغل كـ PID 1 جوّه Docker من غير ما يحصدها، لحد ما جدول العمليات يمتلي وأي fork جديد يفشل. اعرف السبب على مستوى الكيرنل، وإزاي --init و tini يحلّوها في سطر واحد، مع أرقام قبل وبعد ومصادر.