GH GambleHub

سياسات تنفيذ العمليات وإدارة → والقيود المفروضة على وقت التشغيل

سياسات التنفيذ والقيود المفروضة على وقت التشغيل

1) الغرض

تجعل سياسات وقت التشغيل سلوك الخدمات متوقعًا وآمنًا واقتصاديًا: الحد من «الجيران الصاخبين»، ومنع التسريبات والحرارة الزائدة، وضمان الامتثال والاحتفاظ بمنظمات SLO عند زيادة الحمل.

الأهداف الرئيسية: العزلة، والتوزيع العادل للموارد، والتحكم في التدهور، وقابلية الاستنساخ، ومراجعة الحسابات.

2) النطاق

الحوسبة والذاكرة: وحدة المعالجة المركزية، ذاكرة الوصول العشوائي، توقف GC، حدود الخيط.
القرص/التخزين: IOPS/الإنتاجية، الحصص، السياسات (القراءة فقط).
Сеть: الدخول/الدخول، تشكيل النطاق الترددي، سياسات الشبكة.
العمليات/مكالمات النظام: seccop، القدرات، اليوليميت.
التنسيق: Kubernetes QoS، الطلبات/الحدود، الأولويات، التقارب/التقارب.
واجهة برمجة التطبيقات/البوابات: حدود الأسعار، الحصص، المهلات/إعادة التدوير، قواطع الدوائر.
البيانات/ETL/التدفقات: دفعة/تيار متزامن، ميزانيات تأخر المستهلك.
الأمان: AppArmor/SELinux، بلا جذور، أسرار/كوفيجي.
Policy-as-Code: OPA/Gatekeeper, Kyverno, Conftest.

3) المبادئ الأساسية

آمن من الفشل افتراضيًا: من الأفضل إسقاط الطلبات غير الضرورية بدلاً من الإسقاط.
يعتمد على الميزانية: تتناسب المهلات/إعادة التدوير مع ميزانية وقت الطلب وميزانية خطأ SLO.
نصف قطر الانفجار الصغير: مساحة الاسم/حمام السباحة/المضيف/عزل القطع.
إعلانية ومدققة: جميع القيود - في الرمز/المستودع + سجل التغيير.
عدالة المستأجرين المتعددين: لا يمكن لأي مستأجر/فريق «امتصاص» المجموعة بأكملها.

4) الحوسبة والذاكرة

4. 1 Kubernetes и cgroup v2

الطلبات/الحدود: تضمن الطلبات حصة وحدة المعالجة المركزية/الذاكرة ؛ تشمل الحدود الاختناق/قاتل OOM.
فئات QoS: مضمون/Burstable/BestFirst - احتفظ بسير العمل المهم في مضمون/Burstable.
وحدة المعالجة المركزية: 'المعالج المركزي. «،» المعالج المركزي. ماكس (دواسة الوقود)، CPuset للتثبيت.
الذاكرة: "الذاكرة. «،» الذاكرة. مبادلة. الحد الأقصى (عادةً ما يتم استبداله) oom_score_adj للأولوية.

4. 2 أنماط

غرفة الرأس 20-30٪ على العقدة، ومكافحة التقارب للازدواجية.
حدود GC: JVM '-Xmx' <k8s memory limite; اذهب: 'GOMEMLIMIT' ؛ العقدة: «- حجم الفضاء القديم».
ulimit: «nofile»، «nproc»، «fsize» - حسب ملف الخدمة.

5) القرص والتخزين

حصص IOPS/Extreput على PVC/التخزين العنقودي ؛ فصل السجل/البيانات.
جذر القراءة فقط FS، tmpfs للملفات المؤقتة، حد الحجم '/tmp '.
FS-watchdog: تنبيهات لملء الحجم ونمو inode.

6) الشبكة وحركة المرور

NetworkPolicy (الدخول/الخروج) - صفر ثقة من الشرق إلى الغرب.
حدود عرض النطاق الترددي: tc/ext-policies، QoS/DSCP للتدفقات الحرجة.
مراقب الخروج: قائمة بالمجالات/الشبكات الفرعية المسموح بها، التدقيق DNS.
سياسات mTLS + TLS - التشفير ونسخة البروتوكول القسري.

7) سلامة العملية

Seccomp (allowist syscalls)، ملفات تعريف AppArmor/SELinux.
إسقاط قدرات Linux (اترك الحد الأدنى)، "تشغيل AsNonRoot"، "اقرأ OnlyRootFilesystem'.
حاويات عديمة الجذور وصور موقعة وشهادات.
الأسرار فقط عبر Vault/KMS، tmp-tokens مع TTL قصير.

8) سياسات الوقت: المهلة، التراجعات، الميزانيات

ميزانية المهلة: مجموع جميع القفزات ≤ جيش تحرير السودان من طرف إلى طرف.
Retrai مع التراجع + النبض، أقصى محاولات في فئة الخطأ.
قاطع الدائرة: مفتوح مع خطأ %/مهلة p95 أعلى من العتبة → فشل سريع.
الحواجز: برك اتصال/قوائم انتظار منفصلة للمسارات الحرجة.
الضغط الخلفي: حصر المنتجين في تأخر المستهلكين.

9) حدود الأسعار والحصص والأولوية

الخوارزميات: دلو رمزي/متسرب، GCRA ؛ المحلية + الموزعة (Redis/Envoy/global).
الدقة: مفتاح واجهة برمجة التطبيقات/المستخدم/المنظمة/المنطقة/نقطة النهاية.
التدرجات ذات الأولوية: تدفقات «الدفع/الإذن» - الذهب والتحليلات - البرونز.
الحصص في اليوم/الشهر، وحدود «الانفجار» و «الاستدامة» ؛ 429 + إعادة المحاولة بعد.

10) التنسيق والمخطط

فئة الأولوية: حماية القرون P1 من التشرد.
PodDistructionBudget: حدود التوقف عن التحديثات.
Tains/Tolerations, (anti) affinity - isolation workboods.
RuntimeClass: gVisor/Firecracker/Wasm للصناديق الرملية.
الترتيب الذاتي الأفقي/الرأسي مع عتبات الحراسة والنسخ المتماثلة القصوى.

11) سياسات البيانات/ETL/Stream

التزامن لكل وظيفة/موضوع، وحجم الدفعة الأقصى، وفترة نقطة التفتيش.
ميزانيات تأخر المستهلك: الإنذار/الحرج ؛ حد DLQ وإعادة الدرج.
نضارة SLA لواجهات المتاجر، توقف مؤقت للوظائف الثقيلة في ذروة حركة المرور العاجلة.

12) السياسة كمدونة ومراقبة القبول

OPA Gatekeeper/Kyverno: لا توجد قرون بدون طلبات/حدود، لا "قراءة OnlyRootFilesystem'، مع" شبكة المضيف "،": الأحدث ".

أعترف لفحص Helm/K8s/Terraform مسبقاً

سياسات الطفرات: إضافة تلقائية للسيارة الجانبية (mTLS)، شروح، seccopProfile.

مثال كيفيرنو - حظر الحاويات بدون حدود:
yaml apiVersion: kyverno. io/v1 kind: ClusterPolicy metadata:
name: require-resources spec:
validationFailureAction: Enforce rules:
- name: check-limits match:
resources:
kinds: ["Pod"]
validate:
message: "We need resources. requests/limits for CPU and memory"
pattern:
spec:
containers:
- resources:
requests:
cpu: "?"
memory: "?"
limits:
cpu: "?"
memory: "?"
مثال على OPA (Rego) - المهلة ≤ 800 مللي ثانية:
rego package policy. timeout

deny[msg] {
input. kind == "ServiceConfig"
input. timeout_ms> 800 msg: = sprintf ("timeout% dms exceeds budget 800ms," [input. timeout_ms])
}

13) مقاييس إمكانية الرصد والامتثال

النسبة المئوية للامتثال: النسبة المئوية للبودات ذات الطلبات/الحدود/البطاقات الصحيحة.
وضع الأمان: مشاركة القرون مع seccomp/AppArmor/عديم الجذور.
وصل حد السعر إلى٪، سقط٪، خانق٪، 429 سهمًا.
p95 مهلة/استرجاع، مدة فتح الدائرة.
OOM يقتل/عمليات الإخلاء، وحدة المعالجة المركزية تخنق الثواني.
نفي خروج الشبكة الأحداث، ويفتقد الخروج.

14) القوائم المرجعية

قبل وضع الخدمة

  • الطلبات/الحدود مكتوبة ؛ QoS ≥ Burstable
  • تتناسب المهلات والعمليات المعاد إصدارها مع اتفاقيات SLAs الشاملة
  • تمكين قاطع الدائرة/الحاجز للتبعيات الخارجية
  • NetworkPolicy (الدخول/الخروج) и mTLS
  • Seccomp/AppArmor، وإسقاط القدرات، والخدمة المالية غير الجذرية، والقراءة فقط
  • حدود الأسعار والحصص على بوابة/خدمة API
  • PDB/الأولوية/التقارب المحدد ؛ تم تكوين التصنيف الذاتي

شهري

  • استثناءات سياسة مراجعة الحسابات (TTL)
  • مراجعة الميزانيات الزمنية/الخطأ
  • اختبار الحريق: سقيفة/ضغط خلفي/قاطع دائرة
  • الأسرار/الشهادات الدورية

15) الأنماط المضادة

بدون طلبات/حدود: «انفجار» يأكل الجيران → حوادث متتالية.
تراجعات عالمية بدون نفح: عاصفة في الإدمان.
المهلات اللانهائية: اتصالات «معلقة» واستنفاد البرك.
": أحدث العلامات والقابلة للتغيير: بناء وقت التشغيل غير المتوقع.
الخروج المفتوح: التسريبات والتبعيات غير المدارة.
لا PDB: التحديثات تطرد المسبح بأكمله.

16) كتب اللعب الصغيرة

ألف - اختناق وحدة المعالجة المركزية بنسبة مئوية في خدمة المدفوعات

1. تحقق من الحدود/الطلبات ومسارات الملف الشخصي الساخنة.
2. رفع الطلبات مؤقتًا، وتشغيل المقياس التلقائي بزمن انتقال p95.
3. تمكين الحدود/معدلات استرداد النقود، وتقليل تعقيد الاستفسارات.
4. ما بعد الإصلاح: إلغاء التطبيع/المؤشرات، تنقيح الحدود.

باء - 429 شكوى من النمو وواجهة برمجة التطبيقات

1. تقرير عن المفاتيح/المنظمات → دخلت في الحصة.
2. أدخل الحصص الهرمية (per- org→per-key)، ارفع انفجار الذهب.
3. الاتصال والتوجيه بشأن التراجع ؛ يمكن الحد من التكيف.

B. Mass OOM يقتل

1. قلل من التزامن، وقم بتمكين حد الكومة والتنميط.
2. إعادة حساب XMX/GOMEMLIMIT لذروة الاستخدام الحقيقي.
3. إعادة تدريب GC/حمامات السباحة، إضافة تنبيهات المقايضة والحدود اللينة.

17) أمثلة التكوين

حاوية K8s ذات إعدادات آمنة (شظية):
yaml securityContext:
runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities:
drop: ["ALL"]
الحد الأقصى لمعدل المبعوث (الجزء من الناحية المفاهيمية):
yaml rate_limit_policy:
actions:
- request_headers:
header_name: "x-api-key"
descriptor_key: "api_key"
دخول Nginx - المهلة والقيود:
yaml nginx. ingress. kubernetes. io/proxy-connect-timeout: "2s"
nginx. ingress. kubernetes. io/proxy-read-timeout: "1s"
nginx. ingress. kubernetes. io/limit-rps: "50"

18) التكامل مع التغيير وإدارة الحوادث

يتم أي تخفيف للسياسة عبر RFC/CAB واستثناء مؤقت مع TTL.
حوادث انتهاك السياسة → تشريح الجثة وتحديث القواعد.
يتم ربط لوحات القيادة الخاصة بالامتثال بتقويم الإصدار.

19) خلاصة القول

سياسات التنفيذ هي «حاجز» للمنصة: فهي لا تتدخل في القيادة بسرعة، ولا تسمح بالسقوط. إن القيود الإعلانية، والإنفاذ التلقائي، والمقاييس الجيدة، والانضباط الاستثنائي، تحول الاستغلال الفوضوي إلى نظام يمكن التحكم فيه والتنبؤ به - بتكلفة محكومة ومنظمات محدودة مستدامة.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.