Die einfache Kubernetes Cronjob Admin UI.
Kronic ist im frühen Alpha. Es kann Ihre Cronjobs, Pods oder sogar Ihren Job essen. Vermeiden Sie es, Kronic nicht vertrauenswürdigen Parteien oder Netzwerken auszusetzen oder Kronic in der Nähe von etwas zu verwenden, das noch vage Wichtiges ist.
Siehe Cronjobs über Namespaces:
Ansicht, Suspendierung, Trigger, Klon oder Löschen von Crobjobs auf einen Blick:
Bohren Sie in Details ein, um den Status von Jobs und Pods zu sehen:
Holen Sie sich Ihre Hände mit dem rohen Yaml schmutzig, um einen Cronjob zu bearbeiten:
Cronjobs sind ein leistungsstarkes Werkzeug, aber ich habe festgestellt, dass Entwickler und Stakeholder häufig eine einfache Möglichkeit benötigen, den Status von Arbeitsplätzen zu überprüfen, sie Ad-hoc auszulösen oder einen neuen einmaligen Job zu erstellen, der auf vorhandenen Cronjob-Definitionen basiert.
Kronic zielt darauf ab, eine einfache Admin -Benutzeroberfläche / das Dashboard / ein einfacher Manager zu sein, um Cronjobs in einem Kubernetes -Cluster anzuzeigen, zu suspendieren, auszulösen, zu bearbeiten und zu löschen.
Kronic kann auf eine Liste von Namespaces beschränkt sein. Geben Sie in der Umgebungsvariablen KRONIC_ALLOW_NAMESPACES
als mit Kommas getrennte Liste an. Das Helm -Diagramm enthält diese Option.
Kronic unterstützt auch eine Namespatierung. Die Umgebungsvariable KRONIC_NAMESPACE_ONLY
beschränkt Kronic nur mit Cronjobs, Jobs und Schoten in seinem eigenen Namespace. Das Aktivieren dieser Einstellung in den Helm -Diagramm -Werten ( env.KRONIC_NAMESPACE_ONLY="true"
) verhindert die Erstellung von Clusterrol und Clusterrolebinding, wodurch nur eine namenspaierte Rolle und Rollenbindungen erzeugt werden.
Kronic unterstützt die HTTP -Basisauthentifizierung im Backend. Es ist standardmäßig aktiviert, wenn es über das Helm -Diagramm installiert wird. Wenn kein Passwort angegeben ist, ist der Standard -Benutzername kronic
und das Kennwort wird zufällig generiert. Ein Benutzername und ein Kennwort können über Helm -Werte unter auth.adminUsername
und auth.adminPassword
festgelegt werden, oder Sie können ein Kubernetes -Geheimnis erstellen, damit die Bereitstellung Referenz ist.
Um das zufällig generierte Administratorkennwort abzurufen:
kubectl --namespace <namespace> get secret <release-name> -ojsonpath="{.data.password}" | base64 -d
So erstellen Sie ein Admin -Passwort -Geheimnis zur Verwendung mit 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
Ein Helm -Diagramm ist unter ./Chart/Kronic erhältlich. Standardmäßig bietet das Kronic Helm -Diagramm nur einen ClusterIP
-Dienst. Sehen Sie sich die Werte ingress
.
Warnung vermeiden, Kronic öffentlich aufzudecken! Die Standardkonfiguration ermöglicht eine grundlegende Authentifizierung, bietet jedoch nur einen minimalen Schutz.
Kronic als kronic
in seinem eigenen Namespace zu installieren:
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
Wenn kein Eindringen konfiguriert ist (siehe Warnung oben!), Entdecken Sie Kronic über kubectl port-forward
und greifen Sie in Ihrem Browser auf localhost:8000
zu: 8000:
kubectl -n kronic port-forward deployment/kronic 8000:8000
Kronic kann eine KUBECONFIG
-Datei verwenden, um lokal gegen einen Cluster auszuführen. Um dies zu tun:
docker run -i --name kronic
-v $HOME/.kube:/home/kronic/.kube
-p 8000:8000
ghcr.io/mshade/kronic
Beachten Sie möglicherweise, dass Sie sicherstellen müssen, dass die Berechtigungen in der KubeConfig -Datei für den
kronic
-Benutzer lesbar sind (UID 3000). Sie können auch eine bestimmte KubeConfig -Datei einsetzen, dh-v $HOME/.kube/kronic.yaml:/home/kronic/.kube/config
Kronic ist eine kleine Flask -App mit:
spec.timezone
anzeigen