Положитесь на опыт профессионалов, успешно применяющих и развивающих проект Kubernetes. Инженеры Microsoft предлагают лучшие приёмы оркестрации контейнеров. Их практики сложились в процессе разработки распределённых систем, на ответственных и нагруженных проектах. Вам останется лишь слегка адаптировать код. Книга идеально подойдет тем, кто уже знаком с Kubernetes, но ещё не умеет использовать его максимально эффективно. Вы узнаете всё, что необходимо для создания классного Kubernetes-приложения, в том числе: — Подготовка окружения и разработка приложений в Kubernetes. — Паттерны мониторинга и защиты ваших систем, управления обновлениями. — Сетевые политики Kubernetes и роли сервисных сетей в экосистеме. — Использование Kubernetes в задачах машинного обучения.
Какие метрики нужно отслеживать Проще ответить «все», но если отслеживать слишком много метрик, то можно получить огромный набор информации, в котором будет сложно найти нужные сигналы. Подход к мониторингу в Kubernetes должен быть многоуровневым и охватывать следующие аспекты:
• физические или виртуальные узлы;
• компоненты кластера;
• дополнения к кластеру;
• приложения, взаимодействующие с конечными пользователями.
Это упрощает корректное определение сигналов в системе мониторинга. Вы можете подходить к решению проблем более целенаправленно. Например, при переходе ваших pod в состояние ожидания можете сначала проверить загруженность узлов, и если все в порядке, то перейти к компонентам кластера.
Ниже перечислены метрики, которые имеет смысл отслеживать в своей системе.
• Узлы:
• использование процессора;
• использование памяти;
• использование сети;
• использование диска.
• Компоненты кластера:
• латентность etcd.
• Дополнения к кластеру:
• контроллер автомасштабирования;
• контроллер Ingress.
• Приложение:
• использование и загруженность памяти в контейнере;
• использование процессора в контейнере;
• использование сети и частота возникновения сетевых ошибок в контейнере;
kube-state-metrics — дополнение для Kubernetes, которое занимается мониторингом объектов, хранящихся в кластере. Если cAdvisor и сервер метрик используются для предоставления подробной информации о потреблении ресурсов, то kube-state-metrics помогает определить состояние объектов Kubernetes, развернутых в кластере.
Во-вторых, Custom Metrics API позволяет собирать произвольные метрики. Таким образом, системы мониторинга могут предоставлять собственные адаптеры, расширяя тем самым стандартный набор метрик ресурсов. Например, один из первых подобных адаптеров появился в Prometheus, что позволило задействовать HPA на основе пользовательских метрик. Это делает возможным более гибкое масштабирование с учетом конкретной ситуации, поскольку теперь вы можете учитывать метрики, не встроенные в Kubernetes, — например, размер очереди.