Разработка и эксплуатация

Инструменты для Kubernetes и Helm

Проблема в кластере почти всегда сводится к манифесту: Service, который не достаёт до подов, путь Ingress с 404, Role, дающая меньше прав, чем реально нужно ServiceAccount, или запрос ресурсов, подобранный на глаз, а не рассчитанный. Эти инструменты идут по этой цепочке от YAML наружу: проверяют манифесты по схеме Kubernetes, прослеживают, во что превращаются привязки RBAC, и ведут путь Ingress через Service до targetPort.

Выбирайте инструмент по тому месту, где след теряется. Если трафик не доходит до пода, проверка маршрута Service / Ingress проведёт путь через порты Service до targetPort; если под не может сделать то, что должен, визуализация RBAC Kubernetes проследит привязки ролей до выданных прав. Helm Values Diff показывает, что именно меняют ваши переопределения относительно значений чарта по умолчанию, а генератор YAML Kubernetes собирает заготовки Deployment, Service, Ingress или CronJob вместо написания шаблонного YAML вручную.

9 инструментов

Вопросы об инструментах категории «Kubernetes & Helm»

Почему Service в Kubernetes не направляет трафик на мои поды?

Почти всегда причина в несовпадении селектора меток или в том, что порт Service указывает не на тот targetPort контейнера. Проверка маршрута Service / Ingress проводит путь от правила Ingress через порт Service до targetPort, а селектор меток Kubernetes сверяет селектор с реальными метками подов и объясняет причину.

Как узнать, какие права реально есть у ServiceAccount?

RBAC в Kubernetes устроен непрямо: RoleBinding или ClusterRoleBinding ссылается на Role или ClusterRole, а уже в Role перечислены сами verbs и ресурсы. Визуализация RBAC Kubernetes проходит эту цепочку и показывает итоговые выданные права вместо того, чтобы читать три объекта вручную.

Что реально меняет переопределение values в Helm?

Файл values.yaml переопределяет только те ключи, которые в нём заданы, а всё остальное берётся из значений чарта по умолчанию, и это легко упустить из виду. Helm Values Diff показывает итоговый результат ваших переопределений относительно значений чарта, чтобы было видно, что изменится до install или upgrade.