>_ IzzyLab

Практическое задание

Проба готовности

сложно

В /root/probes.yaml лежит Deployment web (образ nginx) без пробы готовности. Доработай его: добавь контейнеру readinessProbe — HTTP GET на путь /healthz, порт 80.

Что потренируешь:
  • kubernetes
  • readinessprobe
  • healthcheck
  • yaml
  • yq

Разбор темы

Kubernetes отличает «под запущен» от «под готов принимать трафик»: за второе отвечает readinessProbe. Пока проба не прошла, под убирается из эндпоинтов сервиса и на него не идёт запросов, но перезапуска не происходит — этим занимается отдельная livenessProbe. HTTP-проба задаётся блоком httpGet с полями path и port внутри описания контейнера в spec.template.spec.containers[]. Редактировать YAML можно как руками, так и потоковым процессором вроде yq, но манифест обязан остаться валидным по схеме.

Что проверяется

  1. Манифест валиден
  2. readinessProbe на /healthz

Как это выглядит