El simple Kubernetes Cronjob Admin UI.
Kronic está en alfa temprano. Puede comer sus cronjobs, vainas o incluso su trabajo. Evite exponer a Kronic a partes o redes no confiables o usar Kronic cerca de cualquier cosa incluso vagamente importante.
Ver Cronjobs en los espacios de nombres:
Ver, suspender, disparar, clonar o eliminar Crobjobs de un vistazo:
Profundizar en los detalles para ver el estado de trabajos y vainas:
Ensuciarse las manos con el yaml crudo para editar un cronjob:
Los Cronjobs son una herramienta poderosa, pero he descubierto que los desarrolladores y las partes interesadas a menudo necesitan una manera fácil de inspeccionar el estado de los trabajos, activarlos ad-hoc o crear un nuevo trabajo único basado en las definiciones de Cronjob existentes.
Kronic tiene como objetivo ser una UI / Manager / administrador de administración simple para ver, suspender, activar, editar y eliminar Cronjobs en un clúster Kubernetes.
Kronic puede limitarse a una lista de espacios de nombres. Especifique como una lista separada por coma en la variable de entorno KRONIC_ALLOW_NAMESPACES
. La tabla de timón expone esta opción.
Kronic también es compatible con una instalación espaciada por nombres. La variable de entorno KRONIC_NAMESPACE_ONLY
limitará a Kronic a interactuar solo con cronjobs, trabajos y pods en su propio espacio de nombres. Habilitar esta configuración en los valores de la tabla de timón ( env.KRONIC_NAMESPACE_ONLY="true"
) evitará la creación de ClusterRole y ClusterRoleBinding, creando solo un rol de nombres y unión de roles.
Kronic admite la autenticación básica HTTP al backend. Está habilitado de forma predeterminada cuando se instala a través del gráfico de timón. Si no se especifica una contraseña, el nombre de usuario predeterminado es kronic
y la contraseña se genera al azar. Un nombre de usuario y una contraseña se pueden establecer a través de valores de Helm en auth.adminUsername
y auth.adminPassword
, o puede crear un secreto de Kubernetes para la implementación en referencia.
Para recuperar la contraseña de administración generada al azar:
kubectl --namespace <namespace> get secret <release-name> -ojsonpath="{.data.password}" | base64 -d
Para crear un secreto de contraseña de administrador para usar con Kronic:
kubectl --namespace <namespace> create secret generic custom-password --from-literal=password=<password>
## Tell the helm chart to use this secret:
helm --namespace <namespace> upgrade kronic kronic/kronic --set auth.existingSecretName=custom-password
Una tabla de timón está disponible en ./chart/kronic. Por defecto, el gráfico Kronic Helm proporcionará solo un servicio ClusterIP
. Consulte el value.yaml para obtener configuraciones, especialmente la sección ingress
.
¡Advertencia, evite exponer a Kronic públicamente! La configuración predeterminada permite la autenticación básica, pero proporciona solo una protección mínima.
Para instalar Kronic como kronic
en su propio espacio de nombres:
helm repo add kronic https://mshade.github.io/kronic/
helm repo update
# Optionally fetch, then customize values file
helm show values kronic/kronic > myvalues.yaml
helm install -n kronic --create-namespace kronic kronic/kronic
# See the NOTES output for accessing Kronic and retrieving the initial admin password
Si no se configura ninguna entrada (vea la advertencia anterior!), Exponga Kronic a través kubectl port-forward
y acceda a localhost:8000
en su navegador:
kubectl -n kronic port-forward deployment/kronic 8000:8000
Kronic puede usar un archivo KUBECONFIG
para ejecutarse localmente contra un clúster. Para hacerlo:
docker run -i --name kronic
-v $HOME/.kube:/home/kronic/.kube
-p 8000:8000
ghcr.io/mshade/kronic
Nota Es posible que deba garantizar que los permisos en el archivo KubeConFig sean legibles para el usuario
kronic
(UID 3000). También puede montar un archivo KubeConfig específico en su lugar, es decir:-v $HOME/.kube/kronic.yaml:/home/kronic/.kube/config
Kronic es una pequeña aplicación de frasco construida con:
spec.timezone