تخطَّ إلى المحتوى

🚀 شرح DevOps و CI/CD

Kubernetes — مقدمة

الدرس 23 من 25· ⏱ 1 دقائق قراءة

ما هو Kubernetes؟

Kubernetes (K8s) هو نظام مفتوح المصدر لإدارة الحاويات وتنسيقها عبر عدة خوادم (Cluster).

المفاهيم الأساسية

  • Pod: أصغر وحدة، تحتوي على حاوية أو أكثر
  • Deployment: يدير Pods ويتحكم في التحديثات
  • Service: يوفر عنوان IP ثابت للـ Pods
  • Ingress: يدير حركة المرور الخارجية إلى الخدمات

مثال: Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: ghcr.io/myorg/my-app:latest
        ports:
        - containerPort: 3000

مثال: Service

apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector:
    app: my-app
  ports:
    - port: 80
      targetPort: 3000
  type: LoadBalancer

نشر تحديث في CI/CD

- name: Deploy to Kubernetes
  run: |
    kubectl set image deployment/my-app \
      my-app=ghcr.io/myorg/my-app:${{ github.sha }}
    kubectl rollout status deployment/my-app

⚠️ استخدم kubectl rollout undo في حال فشل النشر، وأضف Health Checks للاكتشاف المبكر.

أدوات مساعدة

  • Helm: مدير حزم لـ Kubernetes
  • kubectl: واجهة الأوامر الرسمية
  • Kustomize: تخصيص ملفات YAML

🎯 التالي: أفضل ممارسات DevOps

شرح Kubernetes — مقدمة — DevOps و CI/CD بالعربي
Kubernetes — مقدمةDevOps و CI/CD بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟