Forecastle le brinda acceso a un panel de control donde puede ver sus aplicaciones en ejecución y acceder a ellas en Kubernetes.
Forecastle proporciona un panel de control unificado que sirve como una puerta de enlace conveniente para ver y acceder a sus aplicaciones implementadas en Kubernetes. Ya sean herramientas de monitoreo, canalizaciones de CI/CD u otras aplicaciones, Forecastle las pone todas a su alcance en una ubicación central.
Forecastle cuenta con una gama de funcionalidades diseñadas para optimizar la gestión y accesibilidad de las aplicaciones en entornos Kubernetes. Las características clave incluyen:
Listado completo de aplicaciones : Forecastle agrega y muestra aplicaciones de todos los espacios de nombres especificados en ConfigMap, proporcionando una vista centralizada de sus recursos.
Funcionalidad de búsqueda : localice rápidamente aplicaciones específicas con una función de búsqueda intuitiva, mejorando la experiencia y la eficiencia del usuario.
Agrupación de espacios de nombres : las aplicaciones están perfectamente organizadas y agrupadas por sus respectivos espacios de nombres, lo que hace que la navegación y la administración sean más sencillas.
Encabezado personalizable : personalice la apariencia de su panel de Forecastle con opciones de encabezado configurables, incluida la personalización de títulos y combinaciones de colores.
Compatibilidad con múltiples instancias : Forecastle está diseñado para admitir múltiples instancias y se adapta a escenarios de implementación variados y complejos.
Integración de aplicaciones personalizadas : agregue fácilmente aplicaciones externas o que no sean de Kubernetes a su panel para obtener una descripción general más completa de sus herramientas y recursos.
ForecastleApp CRD : utilice la definición de recursos personalizados de ForecastleApp para agregar dinámicamente aplicaciones personalizadas, mejorando aún más la flexibilidad del panel.
Agrupaciones y URL personalizadas : organice sus aplicaciones en grupos personalizados y asigne URL específicas para una navegación y accesibilidad personalizadas.
Información detallada de la aplicación : Cada aplicación viene con información detallada, que ofrece ideas y detalles esenciales de un vistazo.
Esta sección está destinada a administradores que deseen implementar Forecastle en sus clústeres. Forecastle ofrece opciones de implementación flexibles y se adapta fácilmente a las plataformas Kubernetes y OpenShift.
Tiene la opción de implementar Forecastle mediante manifiestos tradicionales o mediante gráficos de Helm. A continuación se proporcionan instrucciones detalladas para ambos métodos para guiarlo a través del proceso de implementación.
Puede obtener Forecastle ejecutando el siguiente comando en su clúster:
para Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/kubernetes/forecastle.yaml
para OpenShift:
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/openshift/forecastle.yaml
Para entornos de Kubernetes, puede utilizar el siguiente comando port-foward para acceder al panel de Forecastle:
kubectl port-forward svc/forecastle 8080:8080
Tenga en cuenta que deberá configurar el ingreso para acceder a Forecastle desde fuera del clúster según la configuración de ingreso de su clúster.
Para entornos OpenShift, se crea una ruta predeterminada para el servicio Forecastle. Puede acceder al panel utilizando la URL de la ruta.
oc get route forecastle
Modifique la clave namespaceSelector
en Forecastle ConfigMap para enumerar los espacios de nombres que desea que Forecastle supervise. Para obtener instrucciones detalladas, consulte la configuración del selector de espacio de nombres para obtener instrucciones.
Si tiene Helm configurado en su clúster de Kubernetes, implemente Forecastle usando el gráfico de Helm. El gráfico se encuentra aquí.
Ajuste la configuración en valores.yaml si es necesario y ejecute el siguiente comando:
helm install forecastle ./deployments/kubernetes/chart/forecastle
Forecastle simplifica el descubrimiento y la gestión de aplicaciones en Kubernetes y OpenShift. Utiliza anotaciones específicas en los ingresos y ofrece varias opciones de configuración para personalización.
Puede personalizar Forecastle utilizando ConfigMap o el archivo value.yaml al implementar con Helm. A continuación se muestran los campos configurables:
Campo | Descripción | Por defecto | Tipo |
---|---|---|---|
selector de espacio de nombres | Un selector de espacios de nombres detallado que utiliza una combinación de espacios de nombres codificados y selectores de etiquetas. | cualquiera: verdadero | Selector de espacio de nombres |
encabezadoFondo | Color de fondo del encabezado (especificado en forma CSS) | nulo | cadena |
encabezadoPrimer plano | Color de primer plano del encabezado (especificado en forma CSS) | nulo | cadena |
título | Título del tablero de proa | "Castillo de pronóstico - Stakater" | cadena |
nombre de instancia | Nombre de la instancia del castillo de proa | "" | cadena |
aplicaciones personalizadas | Una lista de aplicaciones personalizadas que le gustaría agregar a la instancia del castillo de proa | {} | []Aplicación personalizada |
crdEnabled | Activa o desactiva el CRD ForecastleApp | verdadero | booleano |
Selecciona espacios de nombres para que Forecastle los supervise, ya sea enumerando espacios de nombres específicos o utilizando selectores de etiquetas.
Campo | Descripción | Por defecto | Tipo |
---|---|---|---|
cualquier | Booleano que describe si todos los espacios de nombres están seleccionados en contraste con una lista que los restringe | FALSO | booleano |
selector de etiquetas | Filtrar espacios de nombres según el tipo metav1.LabelSelector de Kubernetes | nulo | metav1.LabelSelector |
nombres de coincidencias | Lista de nombres de espacios de nombres | nulo | []cadena |
Nota: Si especifica tanto labelSelector
como matchNames
, Forecastle tomará una unión de todos los espacios de nombres coincidentes y los usará.
Permite agregar aplicaciones externas o que no sean de Kubernetes a Forecastle. Esta es una característica extremadamente útil, especialmente cuando sus aplicaciones se distribuyen tanto en Kubernetes como fuera de él. Puede pasar una variedad de aplicaciones personalizadas dentro de la configuración.
Campo | Descripción | Tipo |
---|---|---|
nombre | Nombre de la aplicación personalizada | Cadena |
icono | URL del icono de la aplicación personalizada | Cadena |
URL | URL de la aplicación personalizada | Cadena |
grupo | Grupo para la aplicación personalizada | Cadena |
propiedades | Propiedades adicionales de la aplicación como mapa. | mapa[cadena]cadena |
redRestringido | Si la aplicación está restringida a la red o no | booleano |
A continuación se muestra un ejemplo de cómo puede configurar Forecastle usando una combinación de selectores de espacio de nombres y aplicaciones personalizadas:
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
Esta configuración demuestra cómo configurar selectores de espacios de nombres, personalizar la apariencia del encabezado, habilitar o deshabilitar la función CRD y agregar una aplicación personalizada con propiedades específicas.
El diseño de Forecastle permite ejecutar múltiples instancias, brindando escalabilidad y flexibilidad en diversos entornos. A continuación le mostramos cómo escalar Forecastle de manera efectiva.
Implementación básica : para ejecutar varias instancias de Forecastle, implemente cada instancia en un espacio de nombres separado. Especifique una lista de espacios de nombres para cada instancia para monitorear los ingresos.
Configuración de instancia con nombre : para obtener un mayor control sobre qué aplicaciones se muestran en instancias específicas (independientemente de sus espacios de nombres), configure cada instancia de Forecastle con un nombre único utilizando la configuración instanceName
en la configuración de Forecastle.
Visualización de instancias específicas de la aplicación : después de nombrar sus instancias, use la anotación forecastle.stakater.com/instance
en sus ingresos. Esta anotación dicta qué aplicación aparece en qué instancia de Forecastle.
Visualización de instancias múltiples : es posible que una sola aplicación (ingreso) aparezca en varios paneles de Forecastle. Por ejemplo, si tiene dos instancias denominadas dev-dashboard y prod-dashboard, agregar dev-dashboard,prod-dashboard
en la anotación de instancia de ingreso garantizará que la aplicación sea visible en ambos paneles.
Nomenclatura única en Helm : al implementar instancias de Forecastle a través de Helm, asegúrese de que cada instancia tenga un valor nameOverride
único (el valor predeterminado es Forecastle). Este paso es crucial para evitar conflictos entre recursos globales como ClusterRole y ClusterRoleBinding.
Esta sección está destinada a usuarios que deseen utilizar Forecastle en sus entornos de Kubernetes.
Forecastle identifica aplicaciones a través de anotaciones agregadas a los ingresos de Kubernetes. Así es como agregarías las anotaciones necesarias:
Anotación | Descripción | Requerido |
---|---|---|
forecastle.stakater.com/expose | Agregue esto con valor true al ingreso de la aplicación que desea mostrar en Forecastle | true |
forecastle.stakater.com/icon | Icono/URL de imagen de la aplicación; Un repositorio de colección de iconos/logotipos/imágenes | false |
forecastle.stakater.com/appName | Un nombre personalizado para su aplicación. Úselo si no desea usar el nombre de la entrada | false |
forecastle.stakater.com/group | Un nombre de grupo personalizado. Úselo si desea que la aplicación se muestre en un grupo diferente al espacio de nombres en el que se está ejecutando. | false |
forecastle.stakater.com/instance | Una lista separada por comas de los nombres de las instancias de proa donde desea que aparezca esta aplicación. Úselo cuando tenga varios paneles de salpicadero | false |
forecastle.stakater.com/url | Una URL para la aplicación del castillo de proa (esto anulará la URL de ingreso). DEBE comenzar con un esquema, es decir, http:// o https:// | false |
forecastle.stakater.com/properties | Una lista separada por comas de pares key:value para las propiedades. Esto aparecerá como una lista expandible para la aplicación. | false |
forecastle.stakater.com/network-restricted | Especifique si la aplicación está restringida a la red o no (verdadero o falso) | false |
Otra forma en que Forecastle mejora su capacidad para integrar aplicaciones dinámicamente es mediante el uso de la definición de recursos personalizados (CRD) de ForecastleApp. Esta característica agrega una capa de flexibilidad, permitiéndole separar la configuración de la aplicación de la configuración de Ingress y la propia configuración de Forecastle.
Creando una aplicación Forecastle:
Para crear una ForecastleApp, utilice la siguiente plantilla como guía. Esta configuración le permite especificar el nombre de la aplicación, el grupo, el icono, la URL y propiedades adicionales:
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 admite el descubrimiento automático de URL desde ciertos recursos de Kubernetes, como:
Para utilizar esta función, agregue el campo urlFrom a su especificación de ForecastleApp de la siguiente manera: Tenga en cuenta que el tipo de recurso que desea descubrir debe estar en el mismo espacio de nombres que el CR ForecastleApp
.
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
Esta configuración le indica a Forecastle que obtenga la URL de la aplicación directamente desde el recurso de Ingress especificado, lo que simplifica la implementación y la configuración.
Nota: Para utilizar la función CRD, asegúrese de que esté habilitada configurando crdEnabled: true
en la configuración de Forecastle o habilitándola en el gráfico Helm.
Utilice el rastreador de problemas para informar cualquier error o solicitar funciones de archivos.
Los RP son bienvenidos. En general, seguimos el flujo de trabajo de Git de "bifurcación y extracción".
NOTA: ¡Asegúrese de fusionar lo último de "upstream" antes de realizar una solicitud de extracción!
¿Tiene alguna pregunta? Presente un problema de GitHub.
Únase y hable con nosotros en el canal #tools-imc para hablar sobre Forecastle
Vea nuestras solicitudes de extracción cerradas.
Apache2 © Stakater
El término "castillo de proa" proviene del vocabulario marítimo y se refiere a la cubierta superior de un barco situada en la proa, justo delante del trinquete. Históricamente, es un lugar desde donde los marineros navegan y observan el vasto mar que se avecina.
En el contexto de nuestro proyecto, adoptamos este nombre como metáfora del papel que desempeña Forecastle en el mundo de Kubernetes. Al igual que el castillo de proa de un barco, nuestro castillo de proa actúa como un panel central de observación y control. Ofrece a los usuarios una vista completa de todas las aplicaciones en ejecución en Kubernetes, específicamente aquellas marcadas con una anotación designada. Forecastle está diseñado para ser su panel de Kubernetes, brindando una vista clara y un fácil acceso a sus aplicaciones implementadas, muy parecido a un marinero que contempla el mar desde la proa de un barco.
Stakater mantiene Forecastle
. ¿Te gusta? Por favor háganoslo saber en [email protected]
Vea nuestros otros proyectos o contáctenos en caso de servicios profesionales y consultas en [email protected]