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

المختبر 12.2 - التوسع التلقائي الأفقي والعمودي

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

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

  • تكوين Horizontal Pod Autoscaler (HPA).
  • فهم كيفية عمل HPA.
  • اختبار التوسع التلقائي بناءً على المقاييس.
  • فهم Vertical Pod Autoscaler (VPA).

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

60-75 دقيقة

المتطلبات المسبقة​

  • تثبيت وتكوين kubectl.
  • عنقود Kubernetes مع metrics-server.
  • معرفة حول Deployments.

الجزء 1: تثبيت metrics-server​

الخطوة 1.1: تثبيت metrics-server​

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

تحقق:

kubectl get deployment metrics-server -n kube-system

الجزء 2: إنشاء HPA​

الخطوة 2.1: إنشاء Deployment​

قم بإنشاء deployment-hpa.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
name: hpa-app
spec:
replicas: 2
selector:
matchLabels:
app: hpa-app
template:
metadata:
labels:
app: hpa-app
spec:
containers:
- name: app
image: nginx:1.20
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi

تطبيق:

kubectl apply -f deployment-hpa.yaml

الخطوة 2.2: إنشاء HPA​

قم بإنشاء hpa.yaml:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: hpa-app
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: hpa-app
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50

تطبيق:

kubectl apply -f hpa.yaml

الجزء 3: اختبار التوسع التلقائي​

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

قم بإنشاء Pod لتوليد الحمل:

kubectl run -i --tty load-generator --rm --image=busybox --restart=Never -- /bin/sh -c "while true; do wget -q -O- http://hpa-app-service; done"

الخطوة 3.2: مراقبة التوسع التلقائي​

راقب HPA:

kubectl get hpa hpa-app -w

راقب Pods:

kubectl get pods -l app=hpa-app -w

الجزء 4: VPA (مقدمة)​

يقوم VPA بضبط Requests وLimits تلقائيًا. التثبيت أكثر تعقيدًا ويتطلب مشغلًا.


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

في هذا المختبر، قمت بتكوين التوسع التلقائي الأفقي باستخدام HPA. لقد اختبرت التوسع التلقائي بناءً على استخدام CPU.


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

سيعرض لك المختبر التالي كيفية إعداد GitOps باستخدام ArgoCD.

المختبر 12.3: GitOps باستخدام ArgoCD


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