Sobes.tech
Middle

Pentru ce sunt folosite probele în Kubernetes?

sobes.tech AI

Răspuns de la AI

Sondajele din Kubernetes sunt utilizate pentru a determina starea containerelor și pentru a gestiona ciclul de viață al podurilor. Ele permit clusterului să răspundă automat la schimbările de stare ale aplicațiilor, asigurând disponibilitatea și stabilitatea acestora.

Există trei tipuri principale de sondaje:

  • Sondaj de vigilență (Liveness probe): Determină dacă aplicația din interiorul containerului funcționează. Dacă sondajul de vigilență eșuează, Kubernetes repornește containerul.
  • Sondaj de pregătire (Readiness probe): Determină dacă containerul este gata să primească trafic. Dacă sondajul de pregătire eșuează, Kubernetes exclude temporar podul din lista de puncte finale disponibile pentru serviciu.
  • Sondaj de pornire (Startup probe): Determină dacă aplicația din container a terminat pornirea. Poate fi utilizat pentru aplicații care necesită mult timp pentru inițializare. Dacă sondajul de pornire are succes, verificările ulterioare (vigilență/pregătire) încep conform programului. Dacă eșuează în timpul stabilit, Kubernetes ucide și repornește containerul.

Sondajele pot fi implementate în diferite moduri:

  • ExecAction: Execută o comandă în interiorul containerului. Succesul este determinat de codul de retur (0 - succes, altul - eroare).
    # Exemplu de ExecAction pentru sondajul de vigilență
    livenessProbe:
      exec:
        command:
        - cat
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5
    
  • HTTPGetAction: Trimite o solicitare HTTP GET către portul și calea specificate ale containerului. Succesul este determinat de codul de stare HTTP (de obicei 2xx sau 3xx).
    # Exemplu de HTTPGetAction pentru sondajul de pregătire
    readinessProbe:
      httpGet:
        path: /ready
        port: 8080
      initialDelaySeconds: 5
      periodSeconds: 5
      failureThreshold: 3
    
  • TCPSocketAction: Încearcă să stabilească o conexiune TCP pe portul specificat al containerului. Succesul este determinat de conexiunea reușită.
    # Exemplu de TCPSocketAction pentru sondajul de vigilență
    livenessProbe:
      tcpSocket:
        port: 8080
      initialDelaySeconds: 15
      periodSeconds: 20
    

Utilizarea corectă a sondajelor este crucială pentru fiabilitatea și toleranța la erori a aplicațiilor în Kubernetes.