Headlamp є відкритим, розширюваним проєктом інтерфейсу користувача Kubernetes SIG, призначеним для дослідження, управління та налагодження ресурсів кластера безпосередньо з вебоглядача.
Cluster API (CAPI) є субпроєктом Kubernetes, який надає декларативні API у стилі Kubernetes для управління життєвим циклом кластерів. Він дозволяє командам платформи створювати, оновлювати та керувати життєвим циклом кластерів Kubernetes за допомогою стандартних обʼєктів Kubernetes, збережених і узгоджених у кластері управління.
Управління ресурсами Cluster API історично вимагало використання команд kubectl та глибокого розуміння ієрархій власності. Втулок Headlamp Cluster API забезпечує візуальну ясність, швидше налагодження та спрощені операції для команд платформи безпосередньо всередині Headlamp.
Втулок Cluster API додає спеціальний розділ Cluster API до Headlamp і забезпечує повну видимість основних ресурсів CAPI через узгоджені списки та детальні перегляди.
| Feature | Description |
|---|---|
| Cluster overview | Перегляд кластерів з актуальним станом панелі управління та реплік робочих вузлів. |
| Machine visibility | Перевірка MachineDeployments, MachineSets, Machines та MachinePools зі станом та умовами. |
| Cluster API dashboard | Отримання централізованого огляду стану ресурсів Cluster API, активних проблем умов, інформації про провайдера та рекомендацій щодо усунення несправностей. |
| Control plane monitoring | Відстеження реплік KubeadmControlPlane, версій та повʼязаних Machines. |
| Scale from the UI | Масштабування MachineDeployments та MachineSets безпосередньо з Headlamp. |
| Owned resource hierarchy | Відстеження взаємозвʼязків між кластерами, розгортаннями, наборами та машинами. |
| KubeadmConfig inspection | Перегляд конфігурацій завантаження, файлів, аргументів kubelet та налаштувань приєднання/ініціалізації. |
| Topology awareness | Автоматичне виявлення та маркування ресурсів, керованих ClusterClass. |
| Map view | Візуалізація взаємозвʼязків між Cluster, Control Plane та Worker. |
| Dynamic API versioning | Підтримка обох версій Cluster API: v1beta1 та v1beta2. |
| Prometheus metrics | Перегляд наживо метрик з Headlamp Prometheus plugin безпосередньо на сторінках деталей ресурсів Cluster API. |
Втулок Headlamp Cluster API надає основні ресурси Cluster API у послідовному, візуальному інтерфейсі всередині Headlamp. Ось деякі з ключових компонентів, включених у перший випуск.
Інформаційна панель надає централізований огляд ресурсів Cluster API та їх стану в кластері управління.

Огляд підсумовує стан кластерів, Machines, MachineDeployments, MachinePools, MachineSets та панелей управління. Він також виділяє поточні проблеми станів, інформацію про провайдера та кількість шаблонів конфігурацій, щоб допомогти операторам швидко виявляти деградовані або нездорові ресурси.

Після вибору кластера відкривається детальний огляд стану, що показує стан панелі управління та робочих вузлів, інформацію про машини, деталі інфраструктури та стан ресурсів. Коли виявляються проблеми, панель надає рекомендації щодо усунення несправностей та діагностичні команди для допомоги у вирішенні проблем.
Перегляд списку кластерів показує всі ресурси Cluster у кластері управління, включаючи стан реплік панелі управління та робочих вузлів. Це дає змогу швидко оцінити загальний стан кластера.

Перегляд деталей кластера надає інформацію про статус ресурсів, стани, посилання на інфраструктуру, посилання на панель управління та повʼязані Machines на одній сторінці.


Окремі компоненти присвячені MachineDeployments, MachineSets, Machines та MachinePools. Ці сторінки відображають кількість реплік, відносини власності, ідентифікатори провайдерів, версії та стани для підтримки щоденних операцій та налагодження.

MachineDeployments та MachineSets включають вбудовану дію масштабування, що дозволяє регулювати кількість реплік безпосередньо з Headlamp без використання команд терміналу.
Для кластерів, з топологічним керуванням, втулок також вказує, коли масштабування слід виконувати на рівні кластера.


Конфігурації bootstrap можна переглядати у структурованому форматі, включаючи вбудовані файли, аргументи kubelet, додаткові томи та налаштування join або init. Це усуває необхідність вручну переглядати сирий YAML або секрети.

Візуальна мапа показує взаємозвʼязки між Cluster, панеллю управління та робочими ресурсами. Це забезпечує швидший спосіб розуміння ієрархії власності та загальної структури кластера.

Втулок Cluster API інтегрується з втулком Headlamp Prometheus, щоб показувати метрики безпосередньо на сторінках деталей ресурсів Cluster API.
Коли втулок Prometheus встановлено та налаштовано, метрики вбудовуються безпосередньо на сторінках деталей для Cluster, MachineDeployments, MachineSets та Machines. Ви можете переглядати стан ресурсів та дані про продуктивність разом із станами та відносинами власності, не переходячи на окрему панель.
Це спрощує зіставлення стану інфраструктури з поточними показниками під час налагодження або повсякденної експлуатації кластера — і все це безпосередньо в Headlamp.

Дивіться plugins/cluster-api/README.md для інструкцій з встановлення та використання.
Цей втулок був розроблений в рамках програми CNCF LFX Mentorship в проєкті Headlamp. Програма наставництва надала можливість тісно співпрацювати з спільнотою Headlamp під час створення функцій для покращення управління Cluster API.
Основна увага приділялася не лише впровадженню функцій, але й розумінню реальних проблем зручності використання під час операцій з Cluster API. Обговорення з наставниками та членами спільноти допомогли визначити напрямок розвитку втулка, покращити досвід використання та пріоритизувати функції, найбільш корисні для команд платформи.
Програма наставництва також надала цінний досвід участі у великих проєктах з відкритим кодом: співпраця з підтримувачами, участь у дискусіях щодо дизайну, обробка відгуків про випуски та ітерації функцій на основі відгуків спільноти.
Робота над втулком триває, з додатковими покращеннями та функціями, запланованими після початкового випуску Alpha.
Це випуск Alpha, і відгуки спільноти безпосередньо впливають на подальший розвиток.