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.