Middle
Барои чӣ дар Kubernetes озмоишҳо истифода мешаванд?
sobes.tech AI
Ҷавоб аз AI
У Kubernetes выкарыстоўваюцца праверкі для вызначэння стану кантэйнераў і кіравання жыццёвым цыклам падоў. Яны дазваляюць кластару аўтаматычна рэагаваць на змены стану прыкладанняў, забяспечваючы іх даступнасць і стабільнасць.
Існуюць тры асноўныя тыпы праверак:
- Liveness probe (Праверка жыццяздольнасці): Вызначае, ці працуе прыкладанне ўнутры кантэйнера. Калі liveness probe завяршаецца з памылкай, Kubernetes перазагружае кантэйнер.
- Readiness probe (Праверка гатоўнасці): Вызначае, ці гатовы кантэйнер прымаць трафік. Калі readiness probe завяршаецца з памылкай, Kubernetes часова выключае пад з спісу даступных канчатковых кропак для сэрвісу, які накіроўвае трафік.
- Startup probe (Пачатковая праверка): Вызначае, ці завершылася запуск прыкладання ў кантэйнеры. Можа выкарыстоўвацца для прыкладанняў, якія патрабуюць працяглага часу для ініцыялізацыі. Калі startup probe завяршаецца паспяхова, наступныя праверкі (liveness/readiness) пачынаюцца па раскладзе. Калі startup probe не ўдаецца ў вызначаны час, Kubernetes забівае і перазагружае кантэйнер.
Праверкі могуць быць рэалізаваны рознымі спосабамі:
- ExecAction: Выконвае каманду ўнутры кантэйнера. Поспех вызначаецца па кодзе вяртання (0 - поспех, не 0 - памылка).
# Прыклад ExecAction для liveness probe livenessProbe: exec: command: - cat - /tmp/healthy initialDelaySeconds: 5 periodSeconds: 5 - HTTPGetAction: Адпраўляе HTTP GET запыт да ўказанага порта і шляху кантэйнера. Поспех вызначаецца па кодзе стану HTTP (звычайна 2xx або 3xx).
# Прыклад HTTPGetAction для readiness probe readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 5 periodSeconds: 5 failureThreshold: 3 - TCPSocketAction: Паспрабуе ўсталяваць злучэнне па TCP сокету на ўказаны порт кантэйнера. Поспех вызначаецца па паспяховым усталяваным злучэнні.
# Прыклад TCPSocketAction для liveness probe livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 15 periodSeconds: 20
Правільнае выкарыстанне праверак крытычна важна для надзейнасці і адчувальнасці прыкладанняў у Kubernetes.