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

الفصل 4.1 - مقدمة إلى الخدمات

أهداف التعلم​

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

  • فهم المشكلة التي تحلها الخدمات
  • شرح دور الخدمات
  • فهم كيفية عمل الخدمات
  • إنشاء خدمة بسيطة

المشكلة​

البودات لديها عناوين IP مؤقتة تتغير:

مشاكل:

  • تتغير عناوين IP عند إعادة تشغيل البودات
  • كيف يمكن العثور على البودات الخلفية؟
  • كيف يمكن تحقيق التوازن في التحميل؟

الحل: الخدمات​

تقوم الخدمة بتعريض مجموعة من البودات كخدمة شبكة مع IP ثابت:

فوائد:

  • IP ثابت
  • توازن تحميل تلقائي
  • اكتشاف الخدمة
  • تجريد البودات الخلفية

كيف تعمل؟​

المحددات​

تستخدم الخدمة المحددات للعثور على البودات:

apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
selector:
app: web
tier: frontend
ports:
- port: 80
targetPort: 8080

إعلان YAML​

apiVersion: v1
kind: Service
metadata:
name: my-service
labels:
app: my-app
spec:
selector:
app: my-app
tier: frontend
ports:
- protocol: TCP
port: 80 # منفذ الخدمة
targetPort: 8080 # منفذ الحاوية
type: ClusterIP # نوع الخدمة

أوامر مفيدة​

# إنشاء خدمة
kubectl apply -f service.yaml

# قائمة الخدمات
kubectl get services

# تفاصيل خدمة
kubectl describe service my-service

# عرض النقاط النهائية
kubectl get endpoints my-service

# حذف خدمة
kubectl delete service my-service

ملخص​

في هذا الفصل، تعلمت:

المشكلة: عناوين IP مؤقتة للبودات
الحل: خدمات مع IP ثابت
المحددات: تحديد البودات الخلفية
توازن التحميل: تلقائي بين البودات
التجريد: العملاء لا يحتاجون لمعرفة البودات


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

الآن بعد أن فهمت الخدمات:

الفصل 4.2: أنواع الخدمات
المختبر 4.1: خدمات ClusterIP وNodePort


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