الفصل 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