Урок 12: Ресурсы и проверки работоспособности
До сих пор мы говорили Kubernetes, что запускать, но не сколько мощности этому дать и как узнать, действительно ли оно работоспособно. Этот урок закрывает оба пробела. Во-первых, ресурсы: для каждого контейнера можно указать requests — гарантированный объём CPU и памяти, который scheduler использует
requests — это место, которое вы забронировали заранее, чтобы вам гарантированно нашлось место; limits — это черта, которую нельзя переступать; probes — это проверка пульса ("ты жив?") и проверка готовности ("ты готов работать?").
- Запросы ресурсов (Resource Requests)
- Гарантированный объём CPU и памяти для контейнера. scheduler использует его, чтобы выбрать node с достаточным количеством свободного места.
- Лимиты ресурсов (Resource Limits)
- Жёсткий потолок для CPU и памяти. Превышение потолка памяти убивает контейнер (OOMKilled), а CPU дросселируется до потолка.
- Проверки работоспособности (Health Probes)
- Периодические проверки, которые kubelet выполняет над контейнером: liveness (жив ли он, иначе перезапуск) и readiness (готов ли он к трафику).
- Милли-ядра (Millicores)
- Единица измерения CPU в Kubernetes. 1000m равно одному полному ядру, так что 250m — это четверть ядра.
- Мебибайт (Mi)
- Двоичная единица памяти. Один Mi — это 1024×1024 байт, так что 128Mi — это 128 мебибайт памяти.