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

الفصل 4.2 - أنواع الخدمات

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

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

  • فهم الأنواع الأربعة للخدمات
  • اختيار النوع المناسب حسب حالة الاستخدام
  • تكوين كل نوع من أنواع الخدمة
  • فهم الفروقات

أنواع الخدمات​

يوفر Kubernetes أربعة أنواع من الخدمات:


1. ClusterIP (افتراضي)​

الوصول الداخلي فقط داخل العنقود.

apiVersion: v1
kind: Service
metadata:
name: clusterip-service
spec:
type: ClusterIP # افتراضي
selector:
app: web
ports:
- port: 80

حالة الاستخدام: التواصل بين الخدمات داخل العنقود.


2. NodePort​

تعريض الخدمة على منفذ من كل عقدة (30000-32767).

apiVersion: v1
kind: Service
metadata:
name: nodeport-service
spec:
type: NodePort
selector:
app: web
ports:
- port: 80
targetPort: 8080
nodePort: 30080 # اختياري

حالة الاستخدام: الوصول الخارجي بدون موازن تحميل السحابة.


3. LoadBalancer​

تعريض عبر موازن تحميل مزود السحابة.

apiVersion: v1
kind: Service
metadata:
name: loadbalancer-service
spec:
type: LoadBalancer
selector:
app: web
ports:
- port: 80

حالة الاستخدام: التطبيقات العامة في الإنتاج.


4. ExternalName​

اسم مستعار لخدمة خارجية.

apiVersion: v1
kind: Service
metadata:
name: external-service
spec:
type: ExternalName
externalName: database.example.com

حالة الاستخدام: الإشارة إلى الخدمات الخارجية كخدمات داخلية.


المقارنة​

النوعالوصولIPمنفذحالة الاستخدام
ClusterIPداخليIP العنقود80خدمات داخلية
NodePortخارجيIP العقدة30000-32767تطوير/اختبار
LoadBalancerخارجيIP السحابة80إنتاج
ExternalNameداخليCNAME-خدمات خارجية

الملخص​

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

ClusterIP: الوصول الداخلي فقط (افتراضي)
NodePort: تعريض على منفذ من كل عقدة
LoadBalancer: عبر موازن تحميل السحابة
ExternalName: اسم مستعار لخدمة خارجية
الاختيار: حسب حالة الاستخدام (داخلي/خارجي، تطوير/إنتاج)


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

الآن بعد أن تعرفت على الأنواع:

الفصل 4.3: اكتشاف الخدمة
المختبر 4.1: خدمات ClusterIP وNodePort


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