GH GambleHub

التكنولوجيا والبنية التحتية → مجموعات Kubernetes ومخططات Helm

مجموعات Kubernetes ومخططات Helm

1) دور كوبرنيتس وهيلم

Kubernetes هو أساس منصة التطبيق: فهو يوحد التدحرج والشبكات والتكوينات والأسرار والشفاء الذاتي. Helm هو مدير حزمة/نموذج يحول البيانات الإعلانية إلى إصدارات قابلة للتكرار مع التحكم في الإصدار والتبعيات. توفر معًا إرسالات يمكن التنبؤ بها، وتراجع سريع ولغة بنية تحتية واحدة.

2) تصميم المجموعة

2. 1 الطوبولوجيا وتحمل الصدع

Multi-AZ: تم تقسيم طائرة التحكم وعقد تجمع العمال إلى مناطق ؛ PDB/TopologySpreadRestrictions for uniformity.
التجمعات المستقلة لكل منطقة ؛ المكالمات الأقاليمية - فقط على المسارات «الباردة» (الأدلة/القياس عن بعد)، «الساخنة» (المحفظة) - محليًا.
مجموعات العمال حسب الملف الشخصي: «عام»، «حساب»، «آيو»، «بقعة» (للمهام الأساسية). التعيين عن طريق العقدة Selector/afficity/tains.

2. 2 مساحات الأسماء والنموذج متعدد المستخدمين

عزل الأسماء حسب المجالات/الأوامر: «المدفوعات»، «المحفظة»، «الألعاب»، «التقارير».
النطاق: الحدود الأساسية لوحدة المعالجة المركزية/ذاكرة الوصول العشوائي والنسخ المتماثلة القصوى ؛ الحماية العنقودية ضد «المكانس الكهربائية».
RBAC: أدوار القراءة فقط افتراضيًا، اكتب - فقط CI/CD وعند الطلب.

2. 3 شبكة

CNI مع دعم NetworkPolicy (Calico/Cilium): Policy L3/L4 by namespace/label.
Ingress → Gateway API: انتقل إلى نموذج "GatewayClass/Gateway/HTTPRout' لطيور الكناري والعقود متعددة الإيجارات.
شبكة الخدمات (اختياري): mTLS, retry/breaker, local-aware; تشغيل نقطة الموثوقية بين الخدمات.

3) الموثوقية وقابلية التوسع

3. 1 التحجيم

HPA عن طريق مقاييس المستخدم (RPS/latency/louge depth)، وليس فقط وحدة المعالجة المركزية.
VPA في فئة حمولة الخلفية ؛ في المنتج - «توصية فقط» أو جنبا إلى جنب مع HPA على مقاييس مختلفة.
جهاز التطهير الذاتي العنقودي: مجموعات عقدة منفصلة للخدمات الحساسة ؛ تجمع دافئ للاختيار (البطولات/المباريات).

3. 2 الموارد ورصد الجودة

لكل جراب طلبات/حدود ؛ تجنب «: أحدث الحاويات» و «غير المحدودة».
فئة الأولوية: تحل الخدمات الحيوية («المحفظة» و «المدفوعات») محل الخدمات غير الحرجة.
PDB: لا تدع المجموعة «تطلق النار على قدمك» عند تحديث العقد.

3. 3 ترقيات دون توقف

RollingUpdate مع maxUnavailable = 0 على المسارات الحرجة.
PodDistructionBudget + ReadinessProbes (не الاستعداد вместо 'startupProbe').
زيادة القدرة على الإصدارات السريعة أثناء القمم - بحذر.

4) أمن المنصة

أمن الجراب (خط الأساس/المقيد) على مستوى مساحة الأسماء ؛ رفض «المحرومين»، المضيف، الجذر.
NetworkPolicy: effault-deny and whiteling by port/label.
Seccomp/AppArmor، مستخدمون غير جذريين، أسطح للقراءة فقط.
الأسرار: لا تحتفظ مزود KMS/Vault (CSI) بالأسرار في القيم. yaml' في شكل مفتوح.
الحد الأدنى من RBAC: نصدر حسابات الخدمة فقط الحقوق اللازمة ؛ رموز قصيرة العمر.
مراقبة القبول: OPA/Gatekeeper/Kyverno - فرض الملصقات والحدود وانتهاكات السياسة.

5) إمكانية الملاحظة

OpenTelemetry: tracking from Ingress/Gateway → service → database/cache, embratory laborations 'service', 'version', 'partner', 'api _ version'.

جذوع الأشجار: هيكلية، لا توجد PII/PAN ؛ التوجيه إلى التخزين المركزي

المقاييس: RED/USE، SLO-dashboards، تنبيهات معدل الحرق.
المواد التركيبية: عينات من البلدان المناسبة/ASN ؛ والفحوص الصحية الداخلية.

6) GitOps и التسليم التدريجي

Argo CD/Flux: الحالة المرغوبة مخزنة في Git ؛ لكل مساحة اسم مستودع/مجلد خاص بها.
ترويج القطع الأثرية: "dev → stage → prod' عبر العلاقات العامة، وليس" kubectl apply ".
Canary/Blue-Green: Argo Rollouts/Gateway API ؛ مقاييس النجاح - P95/P99، معدل الخطأ، SLI الأعمال (CR للودائع).
التراجع: في Helm/Argo - عن طريق الزر ؛ في الرسوم البيانية - الإصدارات ثابتة.

7) Helm: أفضل الممارسات

7. 1 هيكل الرسم البياني


my-service/
Chart. yaml     # name, version (SemVer), appVersion values. yaml # base values (no secrets)
values-prod. yaml # prod overrides (no secrets)
templates/
_helpers. tpl # naming, common deployment templates. yaml service. yaml hpa. yaml pdb. yaml networkpolicy. yaml serviceaccount. yaml ingress_or_gateway. yaml charts/# dependencies (opcional)
التوصيات:
  • «version» - إصدار الرسم البياني (SemVer)، «appVersion» - إصدار التطبيق (الصورة).
  • أسماء الموارد القوية هي '{{تشمل' svc. الاسم الكامل. "} '+ ملصقات' app. kubernetes. io/'.
  • البيانات المطلوبة: النشر/مجموعة StatefulSet، الخدمة، حساب الخدمة، HPA (إذا انطبق)، PDB، NetworkPolicy.

7. 2 استراتيجية القيم

القيم الأساسية. yaml' - التخلف عن السداد، دون أسرار وتفاصيل بيئية.
التجاوزات: 'values- {stage' prod} .yaml' + ملفات لكل منطقة.
الأسرار: SOPS ("محفز القيم. sops. yaml') أو حقن Vault عبر CSI.
بارامترات الموارد والعينات - بالقيم مع التخلف «المعقول».

7. 3 التبعيات والرموز المشتركة

مكتبات الرسوم البيانية المشتركة للأنماط (تحقيقات، شروح، NetworkPolicy).
التبعيات ('الاحتياجات '/' الرسم البياني. yaml') الإصلاح حسب النسخة ؛ تجنب «دمى التعشيش» العميقة.

7. 4 قوالب وفحوصات

استخدام 'مطلوب' و 'فشل' في '_ مساعدين. tpl' للقيم الحرجة.
التحقق من صحة القيم - مخطط القيم. مخطط. json '.
اختبارات مخطط الوحدة - 'helm unittest' ؛ تحليل ثابت - kubeconform/kubeval.
التصحيح المحلي - 'helm complate' + '- values' + 'kubeconform'.

7. 5 الإطلاقات والتخزين

ادفع الرسم البياني إلى سجلات حاويات OCI ؛ علامات SemVer.
Helmfile/' helmfile. لتنسيق حزم متعددة الخرائط.
القطع الأثرية CI: البيانات المتولدة + التبعيات الأقفال.

8) مثال: النشر (قالب هيلم)

yaml apiVersion: apps/v1 kind: Deployment metadata:
name: {{ include "svc. fullname". }}
labels: {{ include "svc. labels". nindent 4 }}
spec:
replicas: {{.Values. replicas      default 3 }}
strategy:
type: RollingUpdate rollingUpdate:
maxSurge: 1 maxUnavailable: 0 selector:
matchLabels: {{ include "svc. selectorLabels". nindent 6 }}
template:
metadata:
labels: {{ include "svc. selectorLabels". nindent 8 }}
annotations:
checksum/config: {{ include (print $.Template. BasePath "/configmap. yaml"). sha256sum }}
spec:
serviceAccountName: {{ include "svc. serviceAccountName". }}
securityContext:
runAsNonRoot: true containers:
- name: app image: "{{.Values. image. repository }}:{{.Values. image. tag }}"
imagePullPolicy: IfNotPresent ports:
- name: http containerPort: {{.Values. ports. http }}
resources:
requests:
cpu: {{.Values. resources. requests. cpu }}
memory: {{.Values. resources. requests. memory }}
limits:
cpu: {{.Values. resources. limits. cpu }}
memory: {{.Values. resources. limits. memory }}
readinessProbe:
httpGet:
path: /healthz port: http periodSeconds: 5 envFrom:
- secretRef:
name: {{ include "svc. secretsName". }}

9) الأسرار والتكوينات

الأسرار عن طريق CSI (Vault/KMS) أو SOPS في مستودع Git (مفاتيح GPG/KMS ؛ 'kubectl تعديل' ممنوع).
شروح ConfigMap/Secret checksum لمشغل الإصدار المتداول.
لا تخزن PAN/PII ؛ استخدم الترميز.
يُسمح بالأسرار المختومة، ولكن يُفضل SOPS أو CSI المباشر.

10) الشبكة والمحيط

بوابة واجهة برمجة التطبيقات لتوجيه L7 وجزر الكناري والأخضر الأزرق ؛ الجلسات اللزجة فقط عند الضرورة.
mTLS بين الخدمات عبر الشبكة/السيارة الجانبية بدون سيليوم - نقطة للدفع الأساسي.
Exure: قائمة خاضعة للرقابة من العقد الخارجية (PSP/KYC)، ثابتة NAT-IP، المهلات وميزانية إعادة الدفع.

11) الخدمات والبيانات الحكومية

بالنسبة لقواعد بيانات OLTP، استخدم الخدمات السحابية المدارة أو المشغلين (Postgres/MySQL) في مجموعات منفصلة.
PVC/CSI مع لقطات وسياسة النسخ الاحتياطية ؛ «PodAntiAffinity» للنسخ المتماثلة.
لقوائم الانتظار/البث - الحلول المدارة أو المجموعات المخصصة ؛ في مجموعة تطبيقات «مشتركة»، احتفظ بالحد الأدنى من الحالة.

12) ناقل CI/CD (مرجع)

1. بناء واختبار → 2) SCA/lint → 3) الصورة مسجلة (SBOM، توقيع) →

2. Helm chart generation + 'helm unittest' + kubeconform →

3. فك تشفير SOPS في CD → 6) وقت تشغيل العلاقات العامة في مستودع GitOps →

4. Argo/Flux ينطبق → 8) Argo Rollouts canary → 9) SLO Auto Verdict → 10) Promotion/Rollback.

13) مقاييس نضج المنصة

حصة الإصدارات عبر GitOps (الهدف: 100٪).
وقت التدحرج (P95) حتى يصبح جاهزًا، تراجع MTTR.
تغطية Namespace Pod Security and NetworkPolicy (الهدف: 100٪).
النسبة المئوية للخدمات مع HPA والطلبات/الحدود الصحيحة.
% الرسم البياني مع 'values. مخطط. جسون واختبارات الوحدة.
الحوادث الناجمة عن التغييرات «اليدوية» (الهدف: 0).

14) قائمة التنفيذ المرجعية

1. التجمعات حسب المناطق، ومجموعة العقد حسب الملامح ؛ PDB/TopologySpreadRestrictions.
2. نموذج Namespace، ResourceConta/LimiteRange، RBAC الحد الأدنى.
3. Pod Security (مقيد) и NetworkPolicy الافتراضي.
4. بوابة واجهة برمجة التطبيقات/الدخول ؛ التحكم في الخروج وتثبيت NAT لمقدمي الخدمة.
5. إمكانية الرصد: مسارات OTel، RED/USE، geo synthetic ؛ لوحات تحكم SLO.
6. GitOps (Argo/Flux)، كناري/أزرق أخضر، ترويج تلقائي بواسطة المقاييس.
7. معايير القيادة: الهيكل، المخطط. جسون، الاختبارات، SOPS/Vault، سجلات OCI.
8. HPA/VPA، Cluster Autoscaler، حمام سباحة دافئ إلى ذروته.
9. عمليات البيانات: لقطات CSI، نسخ احتياطية ،/مشغلي قواعد البيانات المدارة.
10. اختبارات DR/الفوضى المنتظمة وأيام اللعبة.

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

مجموعة «عملاقة» لكل شيء بدون عزلة وحصص.
حاويات بدون قيود على الموارد، علامات «أحدث»، لا مجسات.
الأسرار في 'القيم. yaml' في نص واضح، 'تحرير kubectl' في حث.
تصدر GitOps السابقة، تعديلات بيان يدوي على مجموعة حية.
عدم وجود NetworkPolicy/Pod Security - شبكة «مسطحة».
إشارة HPA مشتركة واحدة عبر وحدة المعالجة المركزية لأنواع مختلفة من الأحمال.
تخزين قواعد بيانات OLTP ضمن مجموعة تطبيقات «مشتركة» بدون مشغل ونسخ احتياطية.

16) سياق iGaming/fintech: ملاحظات عملية

خطوط الدفع الشبكية: مدخل/بوابة مخصصة وخروج ضيق إلى PSP ؛ والفترات الزمنية/عمليات إعادة التدوير الصارمة ؛ تجمع المضيف الفردي.
حركة المرور لكبار الشخصيات: تحديد الأولويات والطرق الفردية ؛ انتشر PDB والطوبولوجيا من أجل الاستقرار.
البطولات/الاختيارات: عقد البلياردو الدافئة + HPA التنبؤية ؛ تسخين المخابئ/الاتصالات.
الإبلاغ/مراكز مكافحة الأمراض والوقاية منها: مجموعة/تجمع منفصل حتى لا تؤثر ETL على Prod.
التنظيم: السجلات الثابتة (WORM)، ترميز PII، تقسيم الشبكة.

المجموع

إن منصة Kubernetes القوية ليست «كومة YAML»، ولكنها معايير: العزلة والسياسة الأمنية والموارد المدارة وإمكانية المراقبة وانضباط GitOps. مخططات Helm - عقد التوريد الخاص بك: إصدارات يمكن التنبؤ بها وأنماط قابلة للاختبار ومعالجة سرية آمنة ورشاوى بسيطة. من خلال توحيد هذه المبادئ، تحصل على مجموعات تنجو من الذروة وتسريع الإصدارات وتحمل متطلبات الأعمال والتنظيم.

Contact

اتصل بنا

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

Telegram
@Gamble_GC
بدء التكامل

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

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

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