Sobes.tech
Middle

Mire szolgálnak a próbák a Kubernetesben?

sobes.tech MI

Válasz az MI-től

A Kubernetesben a próbák a konténerek állapotának meghatározására és a podok életciklusának kezelésére szolgálnak. Lehetővé teszik a klaszter számára, hogy automatikusan reagáljon az alkalmazások állapotának változásaira, biztosítva azok elérhetőségét és stabilitását.

Három fő típusú próba létezik:

  • Életképességi próba (Liveness probe): Meghatározza, hogy a konténerben lévő alkalmazás működik-e. Ha az életképességi próba sikertelen, a Kubernetes újraindítja a konténert.
  • Készségpróba (Readiness probe): Meghatározza, hogy a konténer készen áll-e a forgalom fogadására. Ha a készségpróba sikertelen, a Kubernetes ideiglenesen eltávolítja a podot a rendelkezésre álló végpontok listájáról a szolgáltatás számára.
  • Indítási próba (Startup probe): Meghatározza, hogy a konténerben lévő alkalmazás befejezte-e az indítást. Használható olyan alkalmazásokhoz, amelyek hosszú időt igényelnek az inicializáláshoz. Ha az indítási próba sikeres, a következő ellenőrzések (életképesség/készség) a ütemterv szerint kezdődnek. Ha a megadott időn belül sikertelen, a Kubernetes megöli és újraindítja a konténert.

A próbák különböző módokon valósíthatók meg:

  • ExecAction: Parancsot futtat a konténeren belül. A siker a visszatérési kód alapján dől el (0 - siker, más - hiba).
    # Példa az ExecAction-re az életképességi próba esetében
    livenessProbe:
      exec:
        command:
        - cat
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5
    
  • HTTPGetAction: HTTP GET kérdést küld a megadott porthoz és útvonalhoz a konténerben. A siker a HTTP státuszkód alapján dől el (általában 2xx vagy 3xx).
    # Példa a HTTPGetAction-re a készségpróba esetében
    readinessProbe:
      httpGet:
        path: /ready
        port: 8080
      initialDelaySeconds: 5
      periodSeconds: 5
      failureThreshold: 3
    
  • TCPSocketAction: TCP kapcsolatot prób létesíteni a megadott porton a konténerben. A siker a sikeres kapcsolat alapján dől el.
    # Példa a TCPSocketAction-re az életképességi próba esetében
    livenessProbe:
      tcpSocket:
        port: 8080
      initialDelaySeconds: 15
      periodSeconds: 20
    

A próbák helyes alkalmazása kulcsfontosságú az alkalmazások megbízhatósága és hibátűrő képessége szempontjából Kubernetesben.