Forecastle предоставляет вам доступ к панели управления, где вы можете видеть запущенные приложения и получать к ним доступ в Kubernetes.
Forecastle предоставляет единую панель управления, служащую удобным шлюзом для просмотра и доступа к вашим приложениям, развернутым в Kubernetes. Будь то инструменты мониторинга, конвейеры CI/CD или другие приложения, Forecastle предоставляет их все под рукой в одном центральном месте.
Forecastle может похвастаться рядом функций, предназначенных для оптимизации управления и обеспечения доступности приложений в средах Kubernetes. Ключевые особенности включают в себя:
Комплексный список приложений : Forecastle объединяет и отображает приложения из всех пространств имен, указанных в ConfigMap, обеспечивая централизованное представление ваших ресурсов.
Функциональность поиска : быстро находите конкретные приложения с помощью интуитивно понятной функции поиска, повышающей удобство использования и эффективность.
Группировка пространств имен . Приложения аккуратно организованы и сгруппированы по соответствующим пространствам имен, что упрощает навигацию и управление.
Настраиваемый заголовок : настройте внешний вид панели прогнозов с помощью настраиваемых параметров заголовка, включая настройку заголовка и цветовые схемы.
Поддержка нескольких экземпляров . Forecastle предназначен для поддержки нескольких экземпляров с учетом разнообразных и сложных сценариев развертывания.
Интеграция пользовательских приложений . Легко добавляйте приложения, не относящиеся к Kubernetes, или внешние приложения на свою панель управления, чтобы получить более полный обзор ваших инструментов и ресурсов.
ForecastleApp CRD : используйте определение пользовательского ресурса ForecastleApp для динамического добавления пользовательских приложений, что еще больше повышает гибкость панели мониторинга.
Пользовательская группировка и URL-адреса . Организуйте свои приложения в пользовательские группы и назначьте определенные URL-адреса для индивидуальной навигации и доступности.
Подробная информация о приложении . Каждое приложение содержит подробную информацию, позволяющую сразу получить ценную информацию и важные сведения.
Этот раздел предназначен для администраторов, желающих развернуть Forecastle в своих кластерах. Forecastle предлагает гибкие варианты развертывания, легко адаптируясь как к платформам Kubernetes, так и к OpenShift.
У вас есть выбор: развернуть Forecastle с помощью традиционных манифестов или с помощью диаграмм Helm. Ниже приведены подробные инструкции для обоих методов, которые помогут вам пройти процесс развертывания.
Вы можете получить Forecastle, выполнив в своем кластере следующую команду:
для Кубернетеса:
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/kubernetes/forecastle.yaml
для OpenShift:
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/openshift/forecastle.yaml
В средах Kubernetes вы можете использовать следующую команду port-forward для доступа к панели мониторинга Forecastle:
kubectl port-forward svc/forecastle 8080:8080
Обратите внимание, что вам потребуется настроить вход для доступа к Forecastle из-за пределов кластера на основе входной конфигурации вашего кластера.
В средах OpenShift для службы прогнозов создается маршрут по умолчанию. Вы можете получить доступ к панели управления, используя URL-адрес маршрута.
oc get route forecastle
Измените ключ namespaceSelector
в Forecastle ConfigMap, чтобы перечислить пространства имен, которые вы хотите отслеживать с помощью Forecastle. Подробные инструкции см. в разделе Конфигурация селектора пространства имен.
Если в вашем кластере Kubernetes настроен Helm, разверните Forecastle с помощью диаграммы Helm. График находится здесь.
При необходимости измените конфигурацию в файле Values.yaml и выполните следующую команду:
helm install forecastle ./deployments/kubernetes/chart/forecastle
Forecastle упрощает обнаружение и управление приложениями в Kubernetes и OpenShift. Он использует специальные аннотации на входах и предлагает различные варианты конфигурации для настройки.
Вы можете настроить Forecastle, используя ConfigMap или файл Values.yaml при развертывании с помощью Helm. Ниже приведены настраиваемые поля:
Поле | Описание | По умолчанию | Тип |
---|---|---|---|
Селектор пространства имен | Детализированный селектор пространства имен, который использует комбинацию жестко закодированных пространств имен и селекторов меток. | любой: правда | Селектор пространства имен |
заголовокФон | Цвет фона заголовка (задается с помощью CSS) | нулевой | нить |
заголовокПередний план | Цвет переднего плана заголовка (задается с помощью CSS) | нулевой | нить |
заголовок | Название панели приборов бака | «Прогноз – Стакатер» | нить |
имя экземпляра | Название экземпляра бака | "" | нить |
пользовательские приложения | Список пользовательских приложений, которые вы хотели бы добавить в экземпляр бака. | {} | []Пользовательское приложение |
крденаблед | Включает или отключает ForecastleApp CRD | истинный | логическое значение |
Выбирает пространства имен для мониторинга Forecastle, перечисляя конкретные пространства имен или используя селекторы меток.
Поле | Описание | По умолчанию | Тип |
---|---|---|---|
любой | Логическое значение, описывающее, выбраны ли все пространства имен, в отличие от списка, ограничивающего их. | ЛОЖЬ | логическое значение |
labelSelector | Фильтрация пространств имен на основе типа kubernetes метав1.LabelSelector | нулевой | метав1.LabelSelector |
matchNames | Список имен пространств имен | нулевой | []нить |
Примечание. Если вы укажете и labelSelector
, и matchNames
, Forecastle объединит все соответствующие пространства имен и будет использовать их.
Позволяет добавлять в Forecastle приложения, не относящиеся к Kubernetes, или внешние приложения. Это чрезвычайно полезная функция, особенно когда ваши приложения распространяются как в Kubernetes, так и за его пределами. Вы можете передать массив пользовательских приложений внутри конфигурации.
Поле | Описание | Тип |
---|---|---|
имя | Название пользовательского приложения | Нить |
икона | URL-адрес значка пользовательского приложения | Нить |
URL | URL-адрес пользовательского приложения | Нить |
группа | Группа для пользовательского приложения | Нить |
характеристики | Дополнительные свойства приложения в виде карты | карта[строка]строка |
сетьОграничено | Независимо от того, ограничено ли приложение сетью или нет | логическое значение |
Ниже приведен пример того, как вы можете настроить Forecastle, используя комбинацию селекторов пространства имен и пользовательских приложений:
namespaceSelector :
labelSelector :
matchLabels :
component : redis
matchExpressions :
- {key: tier, operator: In, values: [cache]}
matchNames :
- test
title :
headerBackground :
headerForeground : " #ffffff "
instanceName : " Hello "
crdEnabled : false
customApps :
- name : Hello
icon : http://hello
url : http://helloicon
group : Test
properties :
Version : 1.0
Эта конфигурация демонстрирует, как установить селекторы пространства имен, настроить внешний вид заголовка, включить или отключить функцию CRD и добавить собственное приложение с определенными свойствами.
Конструкция Forecastle позволяет запускать несколько экземпляров, обеспечивая масштабируемость и гибкость в различных средах. Вот как можно эффективно масштабировать Forecastle.
Базовое развертывание . Чтобы запустить несколько экземпляров Forecastle, разверните каждый экземпляр в отдельном пространстве имен. Укажите список пространств имен для каждого экземпляра для отслеживания входных данных.
Конфигурация именованного экземпляра . Для большего контроля над тем, какие приложения отображаются в конкретных экземплярах (независимо от их пространств имен), настройте каждый экземпляр Forecastle с уникальным именем, используя параметр instanceName
в конфигурации Forecastle.
Отображение экземпляра для конкретного приложения . После присвоения имени экземплярам используйте аннотацию forecastle.stakater.com/instance
для входных данных. Эта аннотация определяет, какое приложение отображается в каком экземпляре Forecastle.
Отображение нескольких экземпляров . Одно приложение (входящее) может отображаться на нескольких панелях мониторинга Forecastle. Например, если у вас есть два экземпляра с именами dev-dashboard и prod-dashboard, добавление dev-dashboard,prod-dashboard
в аннотацию экземпляра входа обеспечит видимость приложения на обеих панелях мониторинга.
Уникальное именование в Helm . При развертывании экземпляров Forecastle через Helm убедитесь, что каждый экземпляр имеет уникальное значение nameOverride
(по умолчанию — прогнозл). Этот шаг имеет решающее значение, чтобы избежать конфликтов между глобальными ресурсами, такими как ClusterRole и ClusterRoleBinding.
Этот раздел предназначен для пользователей, желающих использовать Forecastle в своих средах Kubernetes.
Forecastle идентифицирует приложения с помощью аннотаций, добавляемых во входы Kubernetes. Вот как можно добавить необходимые аннотации:
Аннотация | Описание | Необходимый |
---|---|---|
forecastle.stakater.com/expose | Добавьте это со значением true для входа приложения, которое вы хотите показать в Forecastle. | true |
forecastle.stakater.com/icon | URL-адрес значка/изображения приложения; Репозиторий коллекции значков/логотипов/изображений. | false |
forecastle.stakater.com/appName | Пользовательское имя для вашего приложения. Используйте, если вы не хотите использовать имя входа. | false |
forecastle.stakater.com/group | Пользовательское имя группы. Используйте, если вы хотите, чтобы приложение отображалось в группе, отличной от пространства имен, в котором оно работает. | false |
forecastle.stakater.com/instance | Разделенный запятыми список имен экземпляров бака, в которых вы хотите, чтобы это приложение отображалось. Используйте, если у вас есть несколько информационных панелей бака. | false |
forecastle.stakater.com/url | URL-адрес приложения бака (это переопределит входной URL-адрес). Он ДОЛЖЕН начинаться со схемы, т. е. http:// или https:// | false |
forecastle.stakater.com/properties | Разделенный запятыми список пар key:value для свойств. Это появится в виде расширяемого списка для приложения. | false |
forecastle.stakater.com/network-restricted | Укажите, ограничено ли приложение сетью или нет (верно или неверно) | false |
Еще один способ, с помощью которого Forecastle расширяет ваши возможности динамической интеграции приложений, — это использование определения пользовательского ресурса ForecastleApp (CRD). Эта функция добавляет уровень гибкости, позволяя отделить конфигурацию приложения от настроек Ingress и собственной конфигурации Forecastle.
Создание приложения ForecastleApp:
Чтобы создать ForecastleApp, используйте следующий шаблон в качестве руководства. Эта конфигурация позволяет указать имя приложения, группу, значок, URL-адрес и дополнительные свойства:
apiVersion : forecastle.stakater.com/v1alpha1
kind : ForecastleApp
metadata :
name : app-name
spec :
name : My Awesome App
group : dev
icon : https://icon-url
url : http://app-url
networkRestricted : false
properties :
Version : " 1.0 "
instance : " " # Optional
ForecastleApp CRD поддерживает автоматическое обнаружение URL-адресов из определенных ресурсов Kubernetes, таких как:
Чтобы использовать эту функцию, добавьте поле urlFrom в вашу спецификацию ForecastleApp следующим образом: Обратите внимание, что тип ресурса, который вы хотите обнаружить, должен находиться в том же пространстве имен, что и ForecastleApp
CR.
apiVersion : forecastle.stakater.com/v1alpha1
kind : ForecastleApp
metadata :
name : app-name
spec :
name : My Awesome App
group : dev
icon : https://icon-url
urlFrom : # This is new
ingressRef :
name : my-app-ingress
Эта конфигурация предписывает Forecastle получать URL-адрес приложения непосредственно из указанного ресурса Ingress, что упрощает развертывание и настройку.
Примечание. Чтобы использовать функцию CRD, убедитесь, что она включена, установив crdEnabled: true
в конфигурации прогноза или включив ее в диаграмме Helm.
Пожалуйста, используйте систему отслеживания проблем, чтобы сообщать о любых ошибках или отправлять запросы на добавление новых функций.
Пиар приветствуется. В целом мы следуем принципу «вилки и вытягивания» Git.
ПРИМЕЧАНИЕ. Прежде чем делать запрос на включение, обязательно объедините последнюю версию из «восходящего потока»!
Есть вопрос? Сообщите о проблеме на GitHub.
Присоединяйтесь к нам на канале #tools-imc и обсуждайте Forecastle.
Просмотрите наши закрытые запросы на включение.
Apache2 © Стакатер
Термин «Прогноз» происходит из морского словаря и относится к верхней палубе корабля, расположенной в носовой части, прямо перед фок-мачтой. Исторически сложилось так, что это место, откуда моряки плавают и наблюдают за бескрайним морем впереди.
В контексте нашего проекта мы использовали это имя как метафору той роли, которую Forecastle играет в мире Kubernetes. Как и бак корабля, наш «Прогноз» выполняет функцию центрального пульта наблюдения и управления. Он дает пользователям полное представление обо всех запущенных ими приложениях в Kubernetes, особенно о тех, которые отмечены специальной аннотацией. Forecastle предназначен для использования в качестве панели управления Kubernetes, обеспечивающей четкое представление и легкий доступ к развернутым приложениям, подобно тому, как моряк осматривает море с носовой части корабля.
Forecastle
поддерживается Stakater. Нравится? Пожалуйста, сообщите нам об этом по адресу [email protected].
Посмотрите другие наши проекты или свяжитесь с нами в случае возникновения профессиональных услуг и вопросов по адресу [email protected].