infra/k8s/common/ содержит cluster-wide ресурсы, общие для всех доменов инфраструктуры.
Что лежит в модуле
manifests/priorityclasses/priority-classes.yaml— приоритеты подов инфраструктуры и приложений.manifests/nodes/node-labels.yaml— Job + RBAC для массовой установки labels на ноды.Makefile— общие cross-platform helper'ы дляkubectl,helm,helmfileи checks.
PriorityClasses
Базовые классы:
- system-node-critical / system-cluster-critical — для системных компонентов (например, node-exporter).
- infra-critical — для базовой инфраструктуры (Longhorn, Postgres).
- critical-apps
- important-apps
- standard-apps
Используются для предсказуемого планирования и вытеснения в условиях дефицита ресурсов.
Node Labels
node-labels.yaml запускает Job add-node-labels в kube-system, который:
- различает control-plane и worker-ноды (node-type: control-plane / compute);
- ставит метки архитектуры процессора (cpu-version: v1 / v2);
- ставит стандартные labels (disk-type, disk-size, memory-type);
- работает через отдельный ServiceAccount и ClusterRole.
Правила cpu-version
- v1: Старые процессоры. Подходят для легких Go/Python приложений, nginx, cert-manager.
- v2: Процессоры с поддержкой современных инструкций. Обязательны для Kafka, Sonarqube, Tempo.
Где вызывается
Через infra/k8s/Makefile:
- make install-cluster-resources
- make label-nodes
Связанные страницы
- Kubernetes
- Deploy
infra/k8s/README.md