Sobes.tech
Middle

Kā tiek izmantotas pārbaudes Kubernetes?

sobes.tech AI

Atbilde no AI

Kubernetes tiek izmanto pārbaudes, lai noteiktu konteineru stāvokli un pārvaldītu podu dzīves ciklu. Tās ļauj klasterim automātiski reaģēt uz lietojumprogrammu stāvokļa izmaiņām, nodrošinot to pieejamību un stabilitāti.

Ir trīs galvenie pārbaudes veidi:

  • Liveness probe (Dzīvotspējas pārbaude): Nosaka, vai lietojumprogramma darbojas konteinerā. Ja dzīvotspējas pārbaude beidzas ar kļūdu, Kubernetes pārstartēs konteineru.
  • Readiness probe ( Gatavības pārbaude): Nosaka, vai konteineris ir gatavs pieņemt trafiku. Ja gatavības pārbaude beidzas ar kļūdu, Kubernetes īslaicīgi izslēgs podu no pieejamo galapunktu saraksta, kas vada trafiku uz to.
  • Startup probe (Sākuma pārbaude): Nosaka, vai lietojumprogrammas palaišana ir pabeigta. To var izmantot ilgstošas inicializācijas lietojumprogrammām. Ja startup probe ir veiksmīga, turpmākās pārbaudes (dzīvotspējas/gatavības) tiek uzsāktas pēc grafika. Ja startup probe neizdodas noteiktā laikā, Kubernetes to iznīcinās un pārstartēs konteineru.

Pārbaudes var tikt īstenotas dažādos veidos:

  • ExecAction: Izpilda komandu konteinerā. Panākumi tiek noteikti pēc atgrieztā koda (0 - panākums, cits - kļūda).
    # ExecAction piemērs dzīvotspējas pārbaudei
    livenessProbe:
      exec:
        command:
        - cat
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5
    
  • HTTPGetAction: Nosūta HTTP GET pieprasījumu uz norādīto portu un ceļu konteinerā. Panākumi tiek noteikti pēc HTTP statusa koda (parasti 2xx vai 3xx).
    # HTTPGetAction piemērs gatavības pārbaudei
    readinessProbe:
      httpGet:
        path: /ready
        port: 8080
      initialDelaySeconds: 5
      periodSeconds: 5
      failureThreshold: 3
    
  • TCPSocketAction: Mēģina izveidot savienojumu ar TCP socket uz norādīto portu konteinerā. Panākumi tiek noteikti pēc veiksmīgas savienojuma izveides.
    # TCPSocketAction piemērs dzīvotspējas pārbaudei
    livenessProbe:
      tcpSocket:
        port: 8080
      initialDelaySeconds: 15
      periodSeconds: 20
    

Pareiza pārbaudes izmantošana ir kritiska lietojumprogrammu uzticamībai un izturībai Kubernetes vidē.