انتقل إلى المحتوى الرئيسي

المختبر 4.4 - موازن التحميل والتكامل السحابي

أهداف المختبر​

في نهاية هذا المختبر، ستكون قادرًا على:

  • فهم نوع خدمة موازن التحميل.
  • تكوين خدمة موازن التحميل.
  • فهم التكامل مع موازنات التحميل السحابية.
  • اختبار الوصول الخارجي عبر موازن التحميل.

المدة المقدرة​

30-45 دقيقة

المتطلبات الأساسية​

  • تثبيت وتكوين kubectl.
  • تشغيل عنقود Kubernetes محلية (minikube أو kind).
  • معرفة بالخدمات (الفصول 4.1 و4.2).

الجزء 1: فهم موازن التحميل​

خدمة من نوع LoadBalancer تعرض الخدمة خارج المجموعة باستخدام موازن التحميل المقدم من مزود السحابة (AWS ELB، Azure Load Balancer، GCP Load Balancer).

على مجموعة محلية (minikube/kind)، يتصرف موازن التحميل مثل NodePort، ولكن في الإنتاج السحابي، يقوم بتوفير موازن تحميل خارجي تلقائيًا.


الجزء 2: إنشاء خدمة موازن التحميل​

الخطوة 2.1: نشر تطبيق​

قم بإنشاء نشر بسيط:

apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
selector:
matchLabels:
app: web-app
template:
metadata:
labels:
app: web-app
spec:
containers:
- name: nginx
image: nginx:1.20
ports:
- containerPort: 80

تطبيق:

kubectl apply -f deployment.yaml

الخطوة 2.2: إنشاء خدمة موازن التحميل​

قم بإنشاء service-loadbalancer.yaml:

apiVersion: v1
kind: Service
metadata:
name: web-app-lb
spec:
type: LoadBalancer
selector:
app: web-app
ports:
- port: 80
targetPort: 80
protocol: TCP

تطبيق:

kubectl apply -f service-loadbalancer.yaml

الجزء 3: التحقق​

الخطوة 3.1: التحقق من الخدمة​

kubectl get svc web-app-lb

على minikube، سترى <pending> لـ EXTERNAL-IP. قم بتفعيل النفق:

minikube tunnel

في نافذة طرفية أخرى، تحقق مرة أخرى:

kubectl get svc web-app-lb

يجب أن ترى EXTERNAL-IP.

الخطوة 3.2: اختبار الوصول​

اختبر الوصول:

curl http://<EXTERNAL-IP>

الجزء 4: التكامل السحابي (مفاهيمي)​

على مجموعة سحابية (AWS، Azure، GCP)، يقوم موازن التحميل بالتوفير تلقائيًا:

  • AWS: Elastic Load Balancer (ELB)
  • Azure: Azure Load Balancer
  • GCP: Google Cloud Load Balancer

يقوم مزود السحابة بإدارة إنشاء وتكوين موازن التحميل تلقائيًا.


الجزء 5: التنظيف​

kubectl delete svc web-app-lb
kubectl delete deployment web-app

ملخص المختبر​

في هذا المختبر، قمت بإنشاء خدمة موازن التحميل وفهمت كيفية عملها. على مجموعة سحابية، يقوم هذا النوع من الخدمة بتوفير موازن تحميل خارجي تلقائيًا لعرض تطبيقك.


الخطوات التالية​

هذه الوحدة حول الخدمات والشبكات مكتملة الآن. يمكنك الانتقال إلى الوحدة 5 حول التكوين والأسرار.

الوحدة 5: التكوين والأسرار


تم إنشاء المختبر في: ديسمبر 2024