Liveness отвечает на вопрос "жив ли контейнер?". При неудаче kubelet перезапускает контейнер. Readiness - "готов ли принимать трафик?". При неудаче под временно убирается из эндпоинтов Service (не получает запросы), но контейнер не перезапускают.
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 2
periodSeconds: 5
/healthz может проверять только "процесс жив". /ready - что приложение готово (подключение к БД, загрузка кеша). Для долго стартующих приложений добавляют startupProbe, чтобы liveness не убил под во время инициализации.