[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-kubernetes-chto-takoe-liveness-readiness-i-startup-probes":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},1321,"chto-takoe-liveness-readiness-i-startup-probes",26,"kubernetes","Kubernetes","☸️","Что такое Liveness, Readiness и Startup Probes?","Probes (пробы) — механизм проверки состояния контейнера в Kubernetes. Liveness определяет, жив ли контейнер, Readiness — готов ли принимать трафик, Startup — завершился ли запуск.\n\n### Сравнение Probes\n\n| Probe | Что проверяет | Действие при провале | Когда использовать |\n|---|---|---|---|\n| Liveness | Жив ли контейнер | Перезапуск контейнера | Deadlock'и, зависания, утечки памяти |\n| Readiness | Готов ли принимать трафик | Убрать из эндпоинтов Service (без перезапуска) | Длительный прогрев, временные перегрузки |\n| Startup | Завершился ли запуск | Перезапуск (блокирует Liveness\u002FReadiness) | Приложения с долгим стартом (Spring Boot) |\n\n### Типы проверок\n\n| Тип | Описание |\n|---|---|\n| httpGet | HTTP GET-запрос к эндпоинту. Успех: код 200-399 |\n| tcpSocket | Проверка TCP-соединения к порту |\n| exec | Выполнение команды внутри контейнера. Успех: exit code 0 |\n| grpc | gRPC Health Check |\n\n### Пример для Spring Boot приложения\n\nSpring Boot Actuator предоставляет готовые эндпоинты для проб:\n\n\u003Cdetails>\n\u003Csummary>Deployment с тремя Probes\u003C\u002Fsummary>\n\n```yaml\napiVersion: apps\u002Fv1\nkind: Deployment\nmetadata:\n  name: my-spring-app\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: my-spring-app\n  template:\n    metadata:\n      labels:\n        app: my-spring-app\n    spec:\n      containers:\n        - name: app\n          image: my-registry\u002Fmy-spring-app:1.0.0\n          ports:\n            - containerPort: 8080\n          startupProbe:\n            httpGet:\n              path: \u002Factuator\u002Fhealth\u002Fliveness\n              port: 8080\n            initialDelaySeconds: 10\n            periodSeconds: 5\n            failureThreshold: 30       # 10 + 30*5 = до 160 сек на старт\n          livenessProbe:\n            httpGet:\n              path: \u002Factuator\u002Fhealth\u002Fliveness\n              port: 8080\n            periodSeconds: 10\n            failureThreshold: 3\n          readinessProbe:\n            httpGet:\n              path: \u002Factuator\u002Fhealth\u002Freadiness\n              port: 8080\n            periodSeconds: 5\n            failureThreshold: 3\n```\n\n\u003C\u002Fdetails>\n\nНастройка Spring Boot `application.yml`:\n\n```yaml\nmanagement:\n  endpoints:\n    web:\n      exposure:\n        include: health,info,prometheus\n  endpoint:\n    health:\n      probes:\n        enabled: true\n      group:\n        liveness:\n          include: livenessState\n        readiness:\n          include: readinessState,db\n```\n\n### Параметры проб\n\n| Параметр | Описание | По умолчанию |\n|---|---|---|\n| initialDelaySeconds | Задержка перед первой проверкой | 0 |\n| periodSeconds | Интервал между проверками | 10 |\n| timeoutSeconds | Тайм-аут одной проверки | 1 |\n| failureThreshold | Количество неудачных проверок для признания провала | 3 |\n| successThreshold | Количество успешных проверок для признания успеха | 1 |\n\n> **На собеседовании:** нужно чётко разделять Liveness (перезапускает), Readiness (убирает из балансировки), Startup (блокирует остальные пробы на время старта). Частая ошибка — не использовать Startup Probe для Spring Boot и получать убийство контейнера Liveness Probe во время старта.","","middle",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Что такое Liveness, Readiness и Startup Probes? — Gymterview","Probes (пробы) — механизм проверки состояния контейнера в Kubernetes. Liveness определяет, жив ли контейнер, Readiness — готов ли принимать трафик, Startup — за","Probes (пробы) — механизм проверки состояния контейнера в Kubernetes. Liveness определяет, жив ли контейнер, Readiness —",[7,13],"Probes (пробы) — механизм проверки состояния контейнера в Kubernetes. Liveness определяет, жив ли контейнер, Readiness — готов ли принимать трафик, Startup — завершился ли запуск.",true]