📋 Table of Contents
- لماذا بناء مختبر منزلي؟
- الأجهزة: ما تحتاجه بالفعل
- الخطوة 1: تثبيت Proxmox VE
- الخطوة 2: قم بإنشاء أجهزة VM الأولى الخاصة بك
- الخطوة 3: تثبيت Docker وDocker Compose
- الخطوة 4: نشر Kubernetes باستخدام k3s
- الخطوة 5: إعداد CI/CD (Gitea + Woodpecker)
- الخطوة 6: المراقبة باستخدام Prometheus + Grafana
- الخطوة 7: إضافة وكيل عكسي (Traefik)
- المشاريع الأساسية للبناء
- ما الأجهزة التي أحتاجها لمختبر DevOps المنزلي؟
- لماذا بناء مختبر منزلي؟
- الأجهزة: ما تحتاجه بالفعل
- الخطوة 1: تثبيت Proxmox VE
- الخطوة 2: قم بإنشاء أجهزة VM الأولى الخاصة بك
- الخطوة 3: تثبيت Docker وDocker Compose
- الخطوة 4: نشر Kubernetes باستخدام k3s
- الخطوة 5: إعداد CI/CD (Gitea + Woodpecker)
- الخطوة 6: المراقبة باستخدام Prometheus + Grafana
- الخطوة 7: إضافة وكيل عكسي (Traefik)
- المشاريع الأساسية للبناء
- الأسئلة الشائعة
لماذا بناء مختبر منزلي؟
في عام 2026، تعد DevOps واحدة من الأدوار الأعلى أجرًا في مجال التكنولوجيا – متوسط الراتب 140.000 دولار – 180.000 دولار في الولايات المتحدة. لكن الاختراق يتطلب خبرة عملية في استخدام Kubernetes وCI/CD والبنية التحتية كرمز والمراقبة. يتم تحديد المستويات المجانية للسحابة. تتبخر البرامج التعليمية عندما تصل إلى حدود الفوترة.
مختبر منزلي يحل هذا:بيئة دائمة التشغيل ومحددة التكلفة حيث يمكنك كسر الأشياء بحرية والتعلم بشكل أسرع من أي دورة تدريبية.
الأجهزة: ما تحتاجه بالفعل
لا تحتاج إلى أجهزة خادم باهظة الثمن. فيما يلي ثلاث مستويات للميزانية:
| الطبقة | الأجهزة | التكلفة | الأفضل لـ |
|---|---|---|---|
| كاتب | جهاز الكمبيوتر/الكمبيوتر المحمول الموجود لديك (التمهيد المزدوج أو جهاز VM) | $0 | تعلم أساسيات دوكر |
| منتصف | بيلينك SER5 (Ryzen 5 5560U، 32 جيجا رام، 500 جيجا SSD) | ~ 250-300 دولار | مجموعة k3s كاملة + CI/CD |
| متقدم | Dell PowerEdge R720 أو HP DL380 مستعمل (ذاكرة الوصول العشوائي سعة 128 جيجابايت، محركات أقراص متعددة) | 200-500 دولار | k8s متعدد العقد، تخزين Ceph |
موصى به لمعظم الناس:جهاز كمبيوتر صغير مجدد مزود بذاكرة وصول عشوائي (RAM) سعة 32 جيجابايت ومحرك أقراص SSD NVMe سعة 1 تيرابايت. حقق Beelink SER5 Pro أو Intel NUC 12 Pro مكانًا رائعًا. أضف محول TP-Link TL-SG108 رخيص الثمن (20 دولارًا) إذا كنت تريد شبكات متعددة العقد لاحقًا.
الخطوة 1: تثبيت Proxmox VE
بروكسموكس VE(البيئة الافتراضية) عبارة عن برنامج Hypervisor مجاني ومفتوح المصدر يتيح لك تشغيل العديد من أجهزة VM وحاويات LXC على جهاز واحد. فكر في الأمر على أنه برنامج VMware شخصي خاص بك – ولكنه مجاني ومستند إلى Linux.
- قم بتنزيل Proxmox ISO منproxmox.com/downloads
- فلاش إلى محرك أقراص USB:
dd if=proxmox-ve_*.iso of=/dev/sdX bs=1M status=progress - قم بالتمهيد من USB، ثم قم بالتثبيت على NVMe SSD
- قم بالوصول إلى واجهة مستخدم الويب على
https://YOUR_IP:8006
# After install — disable subscription nag (optional)
sed -i.bak "s/NotFound/Active/" /etc/apt/sources.list.d/pve-enterprise.list || true
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" >> /etc/apt/sources.list.d/pve-no-subscription.list
apt-get update && apt-get dist-upgrade -y
الخطوة 2: قم بإنشاء أجهزة VM الأولى الخاصة بك
قم بتخطيط تخطيط VM الخاص بك قبل إنشائه. إليك بنية بداية قوية:
| اسم الجهاز الافتراضي | OS | ذاكرة الوصول العشوائي | الغرض |
|---|---|---|---|
| k3s-ماستر | أوبونتو 24.04 | 4 جيجا | طائرة التحكم Kubernetes |
| k3s-worker-1 | أوبونتو 24.04 | 4 جيجا | عقدة عبء عمل Kubernetes |
| k3s-worker-2 | أوبونتو 24.04 | 4 جيجا | عقدة عبء عمل Kubernetes |
| جيتيا | أوبونتو 24.04 | 2 جيجا | خادم Git + CI/CD |
| مراقبة | أوبونتو 24.04 | 2 جيجا | بروميثيوس + جرافانا |
في Proxmox، أنشئ كل جهاز افتراضي: انقر علىإنشاء VM، حدد ISO (Ubuntu 24.04)، وقم بتعيين الموارد أعلاه، وقم بتمكين وكيل QEMU لإدارة أفضل.
الخطوة 3: تثبيت Docker وDocker Compose
على كل Ubuntu VM تريد تشغيل الحاويات:
# Install Docker Engine (official method)
curl -fsSL https://get.docker.com | sh
# Add your user to docker group (avoid sudo)
usermod -aG docker $USER
newgrp docker
# Install Docker Compose v2 (built-in plugin)
apt-get install -y docker-compose-plugin
# Verify
docker --version # Docker version 27.x
docker compose version # Docker Compose version v2.x
اختبار مع عبء عمل حقيقي:
# docker-compose.yml — Nginx + Portainer (container management UI)
services:
portainer:
image: portainer/portainer-ce:latest
restart: always
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
nginx:
image: nginx:alpine
restart: always
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html:ro
volumes:
portainer_data:
docker compose up -d
# Access Portainer at http://YOUR_IP:9000
الخطوة 4: نشر Kubernetes باستخدام k3s
ك3سهي توزيعة Kubernetes خفيفة الوزن ومعتمدة – جميع واجهات برمجة تطبيقات Kubernetes الحقيقية في ملف ثنائي واحد يبلغ حجمه 70 ميجابايت. مثالية للمختبرات المنزلية.
# On k3s-master VM:
curl -sfL https://get.k3s.io | sh -
# Get the join token for worker nodes
cat /var/lib/rancher/k3s/server/node-token
# On each k3s-worker VM (replace with your master IP and token):
export K3S_MASTER_IP="192.168.1.100"
export K3S_TOKEN="your-token-here"
curl -sfL https://get.k3s.io | K3S_URL="https://${K3S_MASTER_IP}:6443" K3S_TOKEN="${K3S_TOKEN}" sh -
# On master — verify cluster
kubectl get nodes
# NAME STATUS ROLES AGE VERSION
# k3s-master Ready control-plane,master 1m v1.31.x
# k3s-worker-1 Ready <none> 45s v1.31.x
# k3s-worker-2 Ready <none> 30s v1.31.x
انشر تطبيقك الأول على Kubernetes:
# nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: LoadBalancer
selector:
app: nginx
ports:
- port: 80
targetPort: 80
kubectl apply -f nginx-deployment.yaml
kubectl get pods -o wide # see pods spread across worker nodes
kubectl get svc nginx-service # get the external IP
الخطوة 5: إعداد CI/CD (Gitea + Woodpecker)
قم باستضافة إجراءات GitHub + GitHub المكافئة ذاتيًا باستخدامجيتا(خادم جيت) ونقار الخشب CI(عداء خط الأنابيب).
# docker-compose.yml on the 'gitea' VM
services:
gitea:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
ports:
- "3000:3000" # Web UI
- "222:22" # SSH git
volumes:
- gitea_data:/data
woodpecker-server:
image: woodpeckerci/woodpecker-server:latest
restart: always
ports:
- "8080:8000"
environment:
- WOODPECKER_OPEN=true
- WOODPECKER_GITEA=true
- WOODPECKER_GITEA_URL=http://gitea:3000
- WOODPECKER_AGENT_SECRET=supersecret123
depends_on:
- gitea
woodpecker-agent:
image: woodpeckerci/woodpecker-agent:latest
restart: always
environment:
- WOODPECKER_SERVER=woodpecker-server:9000
- WOODPECKER_AGENT_SECRET=supersecret123
- WOODPECKER_BACKEND=docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- woodpecker-server
volumes:
gitea_data:
قم بإنشاء ملف خط أنابيب في أي مستودع Gitea لتشغيل الإصدارات التلقائية:
# .woodpecker.yml — in your app repo
steps:
test:
image: python:3.12-slim
commands:
- pip install -r requirements.txt
- python -m pytest tests/ -v
build:
image: docker
commands:
- docker build -t myapp:$CI_COMMIT_SHA .
when:
branch: main
deploy:
image: bitnami/kubectl:latest
commands:
- kubectl set image deployment/myapp myapp=myapp:$CI_COMMIT_SHA
when:
branch: main
الخطوة 6: المراقبة باستخدام Prometheus + Grafana
انشر مكدس مراقبة على مستوى الإنتاج في دقائق باستخدام مخطط Helm kube-prometheus-stack:
# Install Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Add Prometheus community charts
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
# Install the full monitoring stack (Prometheus + Grafana + Alertmanager)
helm install monitoring prometheus-community/kube-prometheus-stack --namespace monitoring --create-namespace --set grafana.adminPassword=admin123
# Access Grafana
kubectl port-forward -n monitoring svc/monitoring-grafana 3000:80
# Browse to http://localhost:3000 (admin / admin123)
يأتي Grafana محملاً مسبقًا بلوحات معلومات لوحدة المعالجة المركزية العنقودية والذاكرة وصحة الكبسولة وإدخال / إخراج الشبكة والاستخدام المستمر لوحدة التخزين.
الخطوة 7: إضافة وكيل عكسي (Traefik)
بدلاً من تذكر العشرات من أرقام المنافذ، استخدم Traefik لتوجيه كافة الخدمات حسب اسم المضيف:
# Install Traefik via Helm
helm repo add traefik https://helm.traefik.io/traefik
helm install traefik traefik/traefik --namespace traefik --create-namespace
# IngressRoute for Gitea (Traefik CRD)
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: gitea
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`gitea.lab.local`)
kind: Rule
services:
- name: gitea
port: 3000
أضف إدخالات إلى ملف مضيف جهاز التوجيه الخاص بك أو DNS المحلي (يعمل Pi-hole بشكل رائع) لذلكgitea.lab.local, grafana.lab.localوما إلى ذلك. قم بالتحويل إلى Traefik IP الخاص بك. لا مزيد من أرقام المنافذ.
المشاريع الأساسية للبناء
الآن وبعد أن أصبح مختبرك قيد التشغيل، قم ببناء هذه المشاريع لتعزيز المهارات التي يريدها أصحاب العمل:
- نشر تطبيق متكامل– قاعدة بيانات Frontend + API + على k3s ذات وحدات التخزين المستمرة
- أتمتة النسخ الاحتياطية— CronJob الذي يقوم بعمل نسخة احتياطية لقواعد البيانات إلى وحدة تخزين متوافقة مع Samba NAS أو S3 (MinIO)
- البنية التحتية كرمز— أعد إنشاء معملك بالكامل باستخدام Terraform + Ansible من البداية
- GitOps مع ArgoCD– استبدال أوامر kubectl اليدوية؛ جميع التغييرات تمر عبر Git
- التشديد الأمني |||| – إضافة Falco (أمان وقت التشغيل)، سياسات الشبكة، أدوار RBACتدريبات التعافي من الكوارث
- — حذف عقدة، واستردادها تلقائيًا. اختبر افتراضاتك.🎯 نصيحة المحفظة:
معمل منزلك هو أسرع طريق لإتقان DevOps. بمجرد تشغيله، ارفع مستوى مهاراتك في Linux من خلال دليلنا على
دروس لينكسواستكشفأدلة الحوسبة السحابيةلفهم كيفية توسع البنية التحتية للإنتاج خارج شبكتك المنزلية.الأسئلة المتداولة
ما الأجهزة التي أحتاجها لمختبر DevOps المنزلي؟
ابدأ بأي جهاز مزود بذاكرة وصول عشوائي (RAM) تبلغ سعتها 16 جيجابايت+. يعد الكمبيوتر الشخصي الصغير الذي تم تجديده (Beelink SER5 وIntel NUC) المزود بذاكرة وصول عشوائي (RAM) سعة 32 جيجابايت ومحرك أقراص NVMe SSD بسعة 1 تيرابايت (حوالي 250-300 دولار) هو المكان المناسب لتشغيل Proxmox + k3s + CI/CD في وقت واحد.
هل يجب أن أستخدم Docker أو Kubernetes في معملي المنزلي؟
كلاهما. ابدأ باستخدام Docker لتتعلم أساسيات الحاوية، ثم أضف k3s (Kubernetes خفيف الوزن). في عام 2026، ستكون معرفة k8 مطلوبة لمعظم أدوار DevOps – تُترجم تجربة k3s في المعمل المنزلي لديك مباشرةً.
ما هو بروكسموكس ولماذا استخدامه؟
Proxmox VE هو برنامج Hypervisor مجاني ومفتوح المصدر (مثل VMware). فهو يتيح لك تشغيل أجهزة افتراضية متعددة على جهاز واحد، وهو مثالي لمحاكاة بنية أساسية متعددة العقد دون شراء أجهزة كمبيوتر متعددة.
كيف يمكنني ممارسة CI/CD في المنزل؟
قم بتثبيت Gitea (Git المستضاف ذاتيًا) + Woodpecker CI على جهاز افتراضي. تؤدي كل عملية دفع لـ git إلى تشغيل مسار — البناء والاختبار والنشر إلى k3s. وهذا يعكس بالضبط ما تفعله الشركات الحقيقية في الإنتاج.
هل المختبر المنزلي ضروري لوظائف DevOps؟
ليس بشكل صارم، لكنه أكبر مسرع وظيفي. يمكنك الحصول على وصول غير مقيد، وبيئات مستمرة، وممارسة حقيقية للتواصل، وقصة مقابلة مقنعة. يقسم معظم مهندسي DevOps بمختبرهم المنزلي باعتباره المفتاح للحصول على مناصب عليا.
Not strictly, but it’s the biggest career accelerator. You get unrestricted access, persistent environments, real networking practice, and a compelling interview story. Most DevOps engineers swear by their home lab as the key to landing senior roles.
🔗 Share this article
✍️ Leave a Comment