🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Kubernetes للمبتدئين 2026: انشر تطبيقك الأول على K8s

⏱️2 min read  ·  265 words
Kubernetes for Beginners 2026: Deploy Your First App on K8s

كوبيرنيتيس (K8s)هو النظام الأساسي القياسي لتشغيل التطبيقات المعبأة في حاويات على نطاق واسع في عام 2026. يقدم كل مزود سحابي رئيسي أنظمة Kubernetes المُدارة: EKS (AWS)، وGKE (Google)، وAKS (Azure). يشرح دليل المبتدئين هذا المفاهيم الأساسية ويجعل تطبيقك الأول يعمل في مجموعة.

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

  • جراب:أصغر وحدة قابلة للنشر — حاوية واحدة أو أكثر تتشارك في الشبكة/التخزين
  • النشر:يدير العديد من النسخ المتماثلة للبود، ويتعامل مع التحديثات المتداولة
  • الخدمة:نقطة نهاية شبكة مستقرة لمجموعة من القرون
  • مساحة الاسم:الكتلة الافتراضية لعزل الموارد
  • خريطة التكوين/السرية:التكوين وحقن البيانات الحساسة

تثبيت kubectl وMinikube (اختبار محلي)

# Install kubectl
curl -LO https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x kubectl && sudo mv kubectl /usr/local/bin/

# Install Minikube (local cluster)
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

# Start cluster
minikube start --cpus 2 --memory 4096
kubectl cluster-info

انشر تطبيقك الأول

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:1.0
        ports:
        - containerPort: 8000
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 500m
            memory: 512Mi

# service.yaml
apiVersion: v1
kind: Service
metadata:
  name: myapp-service
spec:
  selector:
    app: myapp
  ports:
  - port: 80
    targetPort: 8000
  type: LoadBalancer

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

# Check status
kubectl get pods
kubectl get services
kubectl describe pod <pod-name>

أوامر كوبيكتل الأساسية

# Get resources
kubectl get pods -n default
kubectl get deployments
kubectl get services

# View logs
kubectl logs <pod-name>
kubectl logs -f <pod-name>  # follow

# Exec into pod
kubectl exec -it <pod-name> -- /bin/bash

# Scale deployment
kubectl scale deployment myapp --replicas=5

# Rolling update (zero downtime)
kubectl set image deployment/myapp myapp=myapp:2.0

# Rollback
kubectl rollout undo deployment/myapp

خرائط وأسرار التكوين

# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: myapp-config
data:
  DATABASE_HOST: postgres-service
  APP_ENV: production

---
# secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: myapp-secret
type: Opaque
stringData:
  DATABASE_PASSWORD: supersecret

الخلاصة

Kubernetes معقد ولكن المفاهيم الأساسية واضحة ومباشرة. Master Pods وعمليات النشر والخدمات، ثم أضف Ingress للتوجيه وHorizontalPodAutoscaler للقياس التلقائي. بالنسبة للإنتاج، استخدم خدمة مُدارة (EKS/GKE/AKS) بدلاً من الاستضافة الذاتية لمستوى التحكم.

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी