دورة Kubernetes
تنسيق الحاويات والنشر السحابي الأصلي
رمز الدورة: 420-911-MA
الفصل الدراسي: شتاء 2025
المعلم: Haythem Rehouma
المؤسسة: inskillflow academy
نظرة عامة على الدورة
ستتيح لك هذه الدورة التدريبية الشاملة إتقان Kubernetes، وهي المنصة الأكثر استخدامًا في العالم لتنسيق الحاويات. من المقدمة إلى المفاهيم المتقدمة، ستتعلم كيفية نشر وإدارة وتوسيع تطبيقات الحاويات في الإنتاج.
أهداف التعلم
في نهاية هذه الدورة، ستكون قادرًا على:
- فهم بنية ومفاهيم Kubernetes الأساسية
- نشر وإدارة تطبيقات الحاويات
- تكوين الخدمات والشبكات والتخزين
- تنفيذ الأمان والتحكم في الوصول (RBAC)
- استخدام Helm لإدارة الحزم
- مراقبة وتصحيح عناقيد Kubernetes
- نشر التطبيقات في الإنتاج مع أفضل الممارسات
النهج التعليمي
70% عملي - 30% نظري
كل وحدة تجمع بين:
- تفسيرات نظرية مفصلة مع مخططات Mermaid
- مختبرات عملية
- أمثلة واقعية وحالات استخدام حقيقية
- تمارين واختبارات للتحقق
خطة الدورة - 12 وحدة
الوحدة 1 - مقدمة في Kubernetes ✅ مكتمل
المدة: 2-3 جلسات
المحتوى:
- ما هو Kubernetes ولماذا نستخدمه؟
- التاريخ والتطور (Docker → Kubernetes)
- المفاهيم الأساسية (Pods، Nodes، Clusters)
- بنية Kubernetes (Control Plane مقابل Worker Nodes)
- مقارنة مع حلول التنظيم الأخرى
الأهداف:
- فهم دور Kubernetes في السحابة الأصلية
- تحديد المكونات الرئيسية
- اكتشاف نظام Kubernetes البيئي
المختبرات:
- مختبر 1.1: أول نشر لـ Kubernetes
الوحدة 2 - بنية ومكونات Kubernetes ✅ مكتمل
المدة: 2-3 جلسات
المحتوى:
- بنية مفصلة لـ Control Plane
- API Server
- etcd
- Controller Manager
- Scheduler
- مكونات Worker Nodes
- kubelet
- kube-proxy
- Container Runtime
- الإضافات والامتدادات
- الاتصال بين المكونات
الأهداف:
- فهم العمل الداخلي لـ Kubernetes
- تحديد دور كل مكون
- تصور تدفقات الاتصال
المختبرات:
- مختبر 2.1: فحص Control Plane
- مختبر 2.2: تحليل Worker Nodes
- مختبر 2.3: مراقبة مكونات النظام
الوحدة 3 - Pods والنشر ✅ مكتمل
المدة: 3-4 جلسات
المحتوى:
- Pods: الوحدة الذرية للنشر
- التصريحات YAML و JSON
- Labels و Selectors
- ReplicaSets وإدارة النسخ
- Deployments: النشر التصريحي
- استراتيجيات النشر (Rolling Update، Blue/Green، Canary)
- Health Checks (Liveness، Readiness، Startup Probes)
الأهداف:
- إتقان Pods ودورة حياتها
- نشر التطبيقات باستخدام Deployments
- إدارة التحديثات دون انقطاع
المختبرات:
- مختبر 3.1: إنشاء وإدارة Pods
- مختبر 3.2: النشر باستخدام ReplicaSets
- مختبر 3.3: Deployments و Rolling Updates
- مختبر 3.4: تكوين Health Checks
الوحدة 4 - الخدمات والشبكات ✅ مكتمل
المدة: 3-4 جلسات
المحتوى:
- الخدمات: عرض التطبيقات
- أنواع الـ Service (ClusterIP، NodePort، LoadBalancer، ExternalName)
- اكتشاف الخدمة و DNS الداخلي
- Endpoints و EndpointSlices
- سياسات الشبكة
- Ingress (المفهوم، سيتم تعميقه في الوحدة 8)
- CNI (واجهة شبكة الحاويات)
الأهداف:
- عرض التطبيقات داخل العنقود
- فهم الشبكات في Kubernetes
- تأمين الاتصال الشبكي
المختبرات:
- مختبر 4.1: خدمات ClusterIP و NodePort
- مختبر 4.2: اكتشاف الخدمة باستخدام DNS
- مختبر 4.3: سياسات الشبكة
- مختبر 4.4: LoadBalancer والتكامل السحابي
الوحدة 5 - التكوين والأسرار ✅ مكتمل
المدة: 2-3 جلسات
المحتوى:
- ConfigMaps: إدارة التكوين
- Secrets: إدارة البيانات الحساسة
- المتغيرات البيئية
- Volumes من نوع ConfigMap و Secret
- أفضل الممارسات الأمنية
- External Secrets Operator (مقدمة)
الأهداف:
- فصل التكوين عن الكود
- إدارة الأسرار بشكل آمن
- تطبيق أفضل الممارسات
المختبرات:
- مختبر 5.1: إنشاء واستخدام ConfigMaps
- مختبر 5.2: إدارة الأسرار
- مختبر 5.3: حقن التكوين في Pods
- مختبر 5.4: تدوير الأسرار
الوحدة 6 - التخزين و Volumes ✅ مكتمل
المدة: 3-4 جلسات
المحتوى:
- Volumes: الأنواع والاستخدام
- PersistentVolumes (PV) و PersistentVolumeClaims (PVC)
- StorageClasses والتوفير الديناميكي
- أنواع التخزين (محلي، NFS، مزودي السحابة)
- لقطات Volume
- StatefulSets: التطبيقات ذات الحالة
الأهداف:
- إدارة التخزين الدائم
- فهم الأنواع المختلفة من Volumes
- نشر التطبيقات ذات الحالة
المختبرات:
- مختبر 6.1: Volumes ephemeral و emptyDir
- مختبر 6.2: PersistentVolumes و PVCs
- مختبر 6.3: StorageClasses والتوفير الديناميكي
- مختبر 6.4: StatefulSet مع التخزين الدائم
الوحدة 7 - Workloads المتقدمة ✅ مكتمل
المدة: 3-4 جلسات
المحتوى:
- StatefulSets: التطبيقات ذات الحالة
- DaemonSets: النشر على جميع العقد
- Jobs: المهام الفورية
- CronJobs: المهام المجدولة
- Init Containers
- Sidecar Pattern
الأهداف:
- استخدام الأنواع المختلفة من Workloads
- فهم حالات الاستخدام المحددة
- تنفيذ الأنماط المتقدمة
المختبرات:
- مختبر 7.1: StatefulSet لقاعدة البيانات
- مختبر 7.2: DaemonSet للمراقبة
- مختبر 7.3: Jobs و CronJobs
- مختبر 7.4: Init Containers و Sidecars
الوحدة 8 - Ingress و Load Balancing ✅ مكتمل
المدة: 2-3 جلسات
المحتوى:
- Ingress: عرض HTTP/HTTPS
- Ingress Controllers (NGINX، Traefik، إلخ.)
- Ingress Rules و Path-based routing
- TLS/SSL والشهادات
- Load Balancing المتقدم
- Service Mesh (مقدمة Istio/Linkerd)
الأهداف:
- عرض التطبيقات الويب عبر Ingress
- تكوين التوجيه و Load Balancing
- تأمين الاتصالات HTTPS
المختبرات:
- مختبر 8.1: تكوين Ingress NGINX
- مختبر 8.2: Path-based routing
- مختبر 8.3: TLS/SSL مع cert-manager
- مختبر 8.4: Multi-domain و virtual hosts
الوحدة 9 - الأمان و RBAC ✅ مكتمل
المدة: 3-4 جلسات
المحتوى:
- المصادقة والتفويض
- RBAC (التحكم في الوصول المستند إلى الأدوار)
- Roles و RoleBindings
- ClusterRoles و ClusterRoleBindings
- حسابات الخدمة
- سياسات أمان Pod / معايير أمان Pod
- سياسات الشبكة (تعميق)
- إدارة الأسرار المتقدمة
الأهداف:
- تنفيذ الأمان في Kubernetes
- إدارة الأذونات باستخدام RBAC
- تأمين التطبيقات والمجموعة
المختبرات:
- مختبر 9.1: إنشاء Roles و RoleBindings
- مختبر 9.2: حسابات الخدمة والأذونات
- مختبر 9.3: معايير أمان Pod
- مختبر 9.4: تدقيق الأمان
الوحدة 10 - Helm وإدارة الحزم ✅ مكتمل
المدة: 2-3 جلسات
المحتوى:
- Helm: مدير الحزم لـ Kubernetes
- Charts و Releases
- القوالب والقيم
- Hooks والاعتمادات
- إنشاء Charts مخصصة
- Helmfile لإدارة البيئات المتعددة
- Artifact Hub و Charts العامة
الأهداف:
- استخدام Helm لنشر التطبيقات
- إنشاء وصيانة Charts
- إدارة النشر المعقد
المختبرات:
- مختبر 10.1: تثبيت واستخدام Charts Helm
- مختبر 10.2: التخصيص باستخدام values.yaml
- مختبر 10.3: إنشاء Chart مخصص
- مختبر 10.4: Helmfile والبيئات المتعددة
الوحدة 11 - المراقبة والملاحظة ✅ مكتمل
المدة: 3-4 جلسات
المحتوى:
- مقاييس Kubernetes (cAdvisor، kube-state-metrics)
- Prometheus: جمع وتخزين المقاييس
- Grafana: التصور ولوحات التحكم
- تسجيل الأحداث باستخدام Fluentd/Fluent Bit و ELK
- التتبع الموزع (Jaeger، Zipkin)
- التنبيه باستخدام Alertmanager
- Health Checks و auto-healing
الأهداف:
- مراقبة العناقيد والتطبيقات
- تصور المقاييس والسجلات
- تنفيذ الملاحظة الكاملة
المختبرات:
- مختبر 11.1: تثبيت Prometheus و Grafana
- مختبر 11.2: إنشاء لوحات تحكم مخصصة
- مختبر 11.3: تكوين تسجيل الأحداث
- مختبر 11.4: التنبيه والإشعارات
الوحدة 12 - النشر في الإنتاج ✅ مكتمل
المدة: 3-4 جلسات
المحتوى:
- التحضير للإنتاج
- العناقيد المتعددة والتوافر العالي
- النسخ الاحتياطي والتعافي من الكوارث
- CI/CD مع Kubernetes (GitOps مع ArgoCD/Flux)
- إدارة الموارد (Requests، Limits، QoS)
- التوسع التلقائي (HPA، VPA، Cluster Autoscaler)
- استكشاف الأخطاء وإصلاحها
- أفضل الممارسات للإنتاج
الأهداف:
- نشر التطبيقات في الإنتاج
- تنفيذ التوافر العالي
- تحسين الموارد والتكاليف
المختبرات:
- مختبر 12.1: تكوين إدارة الموارد
- مختبر 12.2: التوسع الأفقي والعمودي
- مختبر 12.3: GitOps مع ArgoCD
- مختبر 12.4: مشروع نهائي كامل
الأدوات والتقنيات
بيئة التطوير
- kubectl: CLI Kubernetes
- minikube / kind: مجموعات محلية
- Docker / containerd: Container Runtime
- Helm: مدير الحزم
- k9s / Lens: أدوات التصور
تقنيات السحابة
- Kubernetes: 1.28+ (أحدث إصدار مستقر)
- Container Runtime: containerd، CRI-O
- CNI: Calico، Flannel، Weave Net
- CSI: برامج تشغيل التخزين
أدوات مكملة
- Prometheus & Grafana: المراقبة
- Helm: إدارة الحزم
- ArgoCD / Flux: GitOps
- cert-manager: إدارة الشهادات
- Istio / Linkerd: Service Mesh (اختياري)
المهارات المطورة
المهارات التقنية
تنسيق الحاويات:
- نشر وإدارة تطبيقات الحاويات
- التوسع التلقائي واليدوي
- إدارة دورة حياة التطبيقات
- إدارة التكوين والأسرار
البنية السحابية الأصلية:
- الخدمات المصغرة والبنية الموزعة
- اكتشاف الخدمة و Load Balancing
- التخزين الدائم والتطبيقات ذات الحالة
- الشبكات وأمان الشبكة
DevOps والإنتاج:
- CI/CD مع Kubernetes
- المراقبة والملاحظة
- استكشاف الأخطاء وإصلاحها
- أفضل الممارسات للإنتاج
المهارات المهنية
- فهم نظام السحابة الأصلية
- نشر التطبيقات في الإنتاج
- حل المشكلات المعقدة
- التعاون مع فرق DevOps/SRE
التقييمات
الأعمال العملية (50%)
- TP1: نشر تطبيق متعدد الطبقات (15%)
- TP2: تكوين كامل مع المراقبة (20%)
- TP3: مشروع GitOps والإنتاج (15%)
المختبرات (30%)
- مختبرات أسبوعية (25%)
- المشاركة والانخراط (5%)
المشروع النهائي (20%)
- تطبيق كامل منشور على Kubernetes (15%)
- التوثيق والعرض (5%)
المجموع: 100%
المتطلبات المسبقة
المعرفة السابقة
- مفاهيم الحاويات (Docker)
- Linux وسطر الأوامر
- مفاهيم الشبكة الأساسية
- YAML/JSON (التركيب الأساسي)
المعدات المطلوبة
- حاسوب بذاكرة 8 جيجابايت على الأقل (يوصى بـ 16 جيجابايت)
- 50 جيجابايت من المساحة الحرة على القرص
- اتصال إنترنت مستقر
- معالج 64 بت مع تفعيل الافتراضية
البرامج المطلوبة للتثبيت
- Docker Desktop أو Docker Engine
- kubectl (CLI Kubernetes)
- minikube أو kind (مجموعة محلية)
- Helm (مدير الحزم)
- IDE أو محرر نصوص (يوصى بـ VS Code)
موارد الدورة
الوثائق الرسمية
الكتب الموصى بها
- "Kubernetes: Up and Running" - Kelsey Hightower
- "The Kubernetes Book" - Nigel Poulton
- "Kubernetes in Action" - Marko Lukša
المجتمع
تقدم الدورة
[✅ مكتمل] الوحدة 1 - مقدمة في Kubernetes
[✅ مكتمل] الوحدة 2 - بنية ومكونات
[✅ مكتمل] الوحدة 3 - Pods والنشر
[✅ مكتمل] الوحدة 4 - الخدمات والشبكات
[✅ مكتمل] الوحدة 5 - التكوين والأسرار
[✅ مكتمل] الوحدة 6 - التخزين و Volumes
[✅ مكتمل] الوحدة 7 - Workloads المتقدمة
[✅ مكتمل] الوحدة 8 - Ingress و Load Balancing
[✅ مكتمل] الوحدة 9 - الأمان و RBAC
[✅ مكتمل] الوحدة 10 - Helm وإدارة الحزم
[✅ مكتمل] الوحدة 11 - المراقبة والملاحظة
[✅ مكتمل] الوحدة 12 - النشر في الإنتاج
ابدأ الآن!
استكشف الوحدات في القائمة الجانبية وابدأ تعلم Kubernetes!
دورة موفقة وتعلم سعيد!
آخر تحديث: ديسمبر 2024