⏱️2 min read · 265 words

كوبيرنيتيس (K8s)هو النظام الأساسي القياسي لتشغيل التطبيقات المعبأة في حاويات على نطاق واسع في عام 2026. يقدم كل مزود سحابي رئيسي أنظمة Kubernetes المُدارة: EKS (AWS)، وGKE (Google)، وAKS (Azure). يشرح دليل المبتدئين هذا المفاهيم الأساسية ويجعل تطبيقك الأول يعمل في مجموعة.
📋 Table of Contents
المفاهيم الأساسية
- جراب:أصغر وحدة قابلة للنشر — حاوية واحدة أو أكثر تتشارك في الشبكة/التخزين
- النشر:يدير العديد من النسخ المتماثلة للبود، ويتعامل مع التحديثات المتداولة
- الخدمة:نقطة نهاية شبكة مستقرة لمجموعة من القرون
- مساحة الاسم:الكتلة الافتراضية لعزل الموارد
- خريطة التكوين/السرية:التكوين وحقن البيانات الحساسة
تثبيت 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) بدلاً من الاستضافة الذاتية لمستوى التحكم.
🔗 Share this article
✍️ Leave a Comment