Sobes.tech
Junior

Xidmətlərin və tətbiqlərin vəziyyətini yoxlamaq üçün hansı növ testlər mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

Məşhur bir neçə sınaq növü mövcuddur:

  • Yaşayış Sınağı (Liveness): Tətbiqin işləyib-işləmədiyini müəyyən edir. Əgər sınaq uğursuz olarsa, Kubernetes pod-u yenidən başlatır. Dondurulmuş prosesləri aşkar etmək üçün istifadə olunur.

    • HTTP Get Sınaqları: Göstərilən yol və porta HTTP GET sorğuları göndərir.
    • TCP Sockets Sınaqları: Göstərilən porta qoşulma imkanını yoxlayır.
    • İcra Sınaqları: Konteyner daxilində bir əmri icra edir və çıxış kodunu yoxlayır.
  • Hazır olma Sınağı (Readiness): Pod-un trafik qəbul etməyə hazır olub-olmadığını müəyyən edir. Əgər uğursuz olarsa, xidmət bu poda trafik göndərmir. Tətbiqin başlamasından və ya yeniləmədən sonra hazır olub-olmadığını müəyyən etmək üçün istifadə olunur.

    • Eyni mexanizmləri istifadə edir (HTTP Get, TCP Socket, İcra).
  • Başlanğıc Sınağı (Startup): Tətbiqin başlanğıcının tamamlandığını müəyyən edir. Əgər sınaq konfiqurasiya olunubsa, Kubernetes Startup Sınağı uğurlu olana qədər Yaşayış və Hazır olma sınaqlarını həyata keçirməyəcək. Yavaş başlayan tətbiqlər üçün faydalıdır, erkən yenidən başlatmaların qarşısını alır.

    • Digər sınaqlarla eyni mexanizmləri istifadə edir.

Kubernetes-də konfiqurasiya nümunəsi:

livenessProbe: # Canlılıq yoxlaması
  httpGet: # HTTP vasitəsilə
    path: /healthz # Yolu
    port: 8080 # Port
  initialDelaySeconds: 15 # İlk yoxlamadan əvvəl gecikmə
  timeoutSeconds: 1 # Cavab üçün gözləmə vaxtı
readinessProbe: # Hazır olma yoxlaması
  tcpSocket: # TCP vasitəsilə
    port: 8080 # Port
  initialDelaySeconds: 5 # İlk yoxlamadan əvvəl gecikmə
  periodSeconds: 10 # Yoxlamalar arasındakı interval