Sobes.tech
Middle

Kubernetesda sinovlar nima uchun ishlatiladi?

sobes.tech AI

AIdan javob

Kubernetesda problar konteynerlarning holatini aniqlash va podlarning hayot aylanishini boshqarish uchun ishlatiladi. Ular klasterga dasturlar holatidagi o'zgarishlarga avtomatik ravishda javob berish imkonini beradi va ularning mavjudligi va barqarorligini ta'minlaydi.

Uch asosiy prob turi mavjud:

  • Liveness probe (Hayotiylik probu): Kontainer ichidagi dastur ishlayotganligini aniqlaydi. Agar hayotiylik probu xato bilan yakunlansa, Kubernetes konteynerni qayta ishga tushiradi.
  • Readiness probe ( tayyorlik probu): Kontainer trafikni qabul qilishga tayyor yoki yo'qligini aniqlaydi. Agar tayyorlik probu xato bilan yakunlansa, Kubernetes vaqtincha podni xizmat uchun mavjud bo'lgan endpointlar ro'yxatidan chiqaradi.
  • Startup probe (Boshlash probu): Kontainer ichidagi dastur ishga tushgan yoki yo'qligini aniqlaydi. U uzoq vaqt talab qiladigan dasturlar uchun ishlatilishi mumkin. Agar startup probu muvaffaqiyatli bo'lsa, keyingi tekshiruvlar (hayotiylik/tayyorlik) jadval bo'yicha boshlanadi. Agar u belgilangan vaqtda muvaffaqiyatsiz bo'lsa, Kubernetes konteynerni o'ldiradi va qayta ishga tushiradi.

Probular turli usullarda amalga oshirilishi mumkin:

  • ExecAction: Kontainer ichida buyruq bajaradi. Muvaffaqiyat kod bilan aniqlanadi (0 - muvaffaqiyat, boshqa - xato).
    # Hayotiylik probu uchun ExecAction misoli
    livenessProbe:
      exec:
        command:
        - cat
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5
    
  • HTTPGetAction: Kontainerning belgilangan port va yo'liga HTTP GET so'rov yuboradi. Muvaffaqiyat HTTP holat kodiga (odatda 2xx yoki 3xx) bog'liq.
    # Tayyorlik probu uchun HTTPGetAction misoli
    readinessProbe:
      httpGet:
        path: /ready
        port: 8080
      initialDelaySeconds: 5
      periodSeconds: 5
      failureThreshold: 3
    
  • TCPSocketAction: Kontainerning belgilangan portiga TCP ulanishini o'rnatishga harakat qiladi. Muvaffaqiyat muvaffaqiyatli ulanishga bog'liq.
    # Hayotiylik probu uchun TCPSocketAction misoli
    livenessProbe:
      tcpSocket:
        port: 8080
      initialDelaySeconds: 15
      periodSeconds: 20
    

Probularni to'g'ri ishlatish Kubernetesda dasturlar ishonchliligi va nosozliklarga chidamliligini ta'minlash uchun juda muhim.