
Monokle CLI ist eine Befehlszeilenschnittstelle für die statische Analyse von Kubernetes-Ressourcen.
Verwenden Sie es, um Missverständnisse in Kustomize, Helm oder Standardkubernetes -Ressourcen zu verhindern. Die Ausgabe ist als SARIF -Datei verfügbar, die Sie in GitHub Codescan hochladen können.
Monokle CLI ermöglicht die Integration mit Monokle Cloud und Monokle Enterprise, um die Validierungsrichtlinien zentral für alle Ihre Repos und Pipelines zu verwalten und durchzusetzen.
Weitere Informationen zu Monokle CLI Features und dem gesamten Monokle-Ökosystem finden Sie in der Ankündigungs-Blog-Post.
Sie können Monokle CLI über NPM installieren:
npm install --global @monokle/cliOder mit dem Brauen, wenn Sie auf macOS sind:
brew install kubeshop/monokle/monokle-cliMonokle CLI enthüllt den folgenden Befehlen:
monokle validate [path] - Validieren Sie Kubernetes -Ressourcen in einem bestimmten Pfad.monokle init - Generieren Sie lokale Konfigurationsdatei.monokle login - Melden Sie sich bei Monokle Cloud oder Enterprise an, um Remote -Richtlinien zu verwenden.monokle logout - Logout von Monokle Cloud oder Enterprise.monokle whoami - Informieren Sie sich über den aktuell authentifizierten Benutzer.monokle config show [path] - Richtlinienkonfigurationsdatei anzeigen, die zum validierten Pfad validiert werden. Sie können immer --help -Argument verwenden, um die Liste aller verfügbaren Befehle oder detaillierten Informationen zu jedem Befehl zu erhalten.
Monokle CLI enthält integrierte Validatoren, um Ihnen umfassende Validierungsmöglichkeiten für K8S-Konfigurationen zu bieten.
Unter der Haube verwendet es [@Monokle/Validierung] [https://github.com/kubeshop/monokle-core/tree/main/packages/validation], mit der Sie die Validierungsregeln ausführlich konfigurieren können.
Nach der Installation ist die Verwendung der CLI einfach.
monokle validate bundle.yamlDadurch werden alle YAML -Dateien rekursiv gescannt und als einfache Kubernetes -Ressourcen analysiert.
monokle validate k8s-dirhelm template helm-dir | monokle validate -kustomize build kustomize-dir/overlays/local | monokle validate -monokle validate path/to/validate -c path/to/config/monokle.validation.yaml Um Remote -Richtlinien zu verwenden, müssen Sie sich zuerst bei Monokle Cloud anmelden. Dies kann über den Befehl monokle login erfolgen:
monokle login Danach leiten Sie den Befehl einfach validate . Monokle CLI holt die Remote -Richtlinie basierend auf Ihren Benutzerdaten:
monokle validate path/to/validateWichtig : Bitte beachten Sie, dass Remote -Richtlinien zuerst konfiguriert werden müssen. Bitte beachten Sie die Verwendung mit dem Abschnitt Monokle Cloud unten.
Monokle CLI unterstützt vordefinierte Regeln, die als Frameworks bezeichnet werden, und ermöglicht es Ihnen, die Monokle -Validierung schnell durchzuführen, ohne dass zusätzliche Konfiguration erforderlich ist. Durch die Verwendung eines Frameworks können Sie problemlos umfassende Validierungen auf der Grundlage etablierter Best Practices und Branchenstandards durchführen.
Bei Verwendung eines Frameworks müssen Sie die Datei monokle.validation.yaml nicht manuell konfigurieren. Geben Sie einfach das gewünschte Framework anhand der Argumente --framework oder -f CLI an, und Monokle CLI wird die entsprechenden Regeln automatisch anwenden.
Verfügbare Frameworks:
pss-restrictedpss-baselinensaDie Verwendung von Frameworks ist eine hervorragende Möglichkeit, mit Monokle CLI schnell zu beginnen und umfassende Validierungen durchzuführen, ohne dass eine umfangreiche Konfiguration erforderlich ist.
Hier ist ein Beispiel für die Verwendung des Arguments --framework :
monokle validate k8s-dir --framework pss-restricted Wenn Sie eine individuellere Validierung bevorzugen, können Sie die monokle.validation.yaml -Datei mit Ihren eigenen Regeln weiterhin konfigurieren. Der einfachste Weg ist die Verwendung monokle init -Befehl, mit dem Sie durch das Erstellen einer benutzerdefinierten Konfiguration basierend auf verfügbaren Frameworks führen können.
Die Monokle CLI kann ihre Ergebnisse im SARIF -Format ausgeben.
monokle validate --output sarif k8s-dir > results.sarifDanach können Sie den Sarif Viewer von VSC oder andere Tools verwenden, um die Ergebnisse zu inspizieren.
Um die Remote -Richtlinie bei Monokle CLI zu verwenden, müssen Sie ein Projekt erstellen und Richtlinien dafür in Monokle Cloud konfigurieren. Melden Sie sich zunächst bei Monokle Cloud an.
Im Falle von Zweifeln finden Sie in den Erste Anfänger oder treffen Sie uns direkt auf Zwietracht.
Erstellen Sie nach der Anmeldung ein Projekt auf Projekte:

Fügen Sie ein Repository (mit dem Sie vor Ort zusammenarbeiten) zu einem Projekt hinzu, nachdem das Projekt erstellt wurde. Dies kann durch die Registerkarte Repositories in der Projektansicht und mithilfe der Schaltfläche Add repository durchgeführt werden:

Der letzte Schritt ist die Richtlinieneinrichtung. Sie können den Richtlinienassistenten verwenden, indem Sie in der Projektansicht auf die Registerkarte Policy wechseln:

Nach Abschluss des Setups können Sie den Befehl monokle validate und die Remote -Richtlinien verwenden, solange Sie angemeldet sind.
Die Verwendung mit Monokle Enterprise (selbst gehostet) ist der Verwendung mit Monokle Cloud sehr ähnlich. Der Hauptunterschied ist der Ursprung (URLs), mit dem Monokle CLI kommunizieren wird. Dies kann auf login oder für jeden Befehl separat eingestellt werden (nützlich für automatisierte Szenarien).
monokle login --origin https://monokle.mydomain.comWichtig : Env Variable
MONOKLE_ORIGINkann auch verwendet werden, um den Befehl für den Protokollieren zu setzen. Wenn auch nicht verwendet wird, wird die CLI dazu veranlasst, benutzerdefinierte Herkunft zu verwenden.
Für die Verwendung --origin -Flag ohne Anmeldung finden Sie unter Verwendung des Abschnitts CI/CD -Pipelines unten.
Wir haben einen engagierten
Monokle GitHub Botfür die Integration des zentralisierten Politikmanagements in Github CI/CD -Pipelines, die eine engere Integration in die Monokle -Cloud verleihen als CLI direkt.
Um Monokle CLI als Teil der CI/CD -Pipeline zu verwenden, muss es zuerst installiert und dann einfach mit monokle validate path/to/resources ausgeführt werden.
Der andere Fall ist die Verwendung der zentral verwalteten Richtlinien von Monokle Cloud in solchen Szenarien. In solchen sollte man Automatisierungs -Token (die über Automation token in Workspace generiert werden können) zusammen mit der Projekt -ID, aus der Richtlinien verwendet werden sollen:
monokle validate project/path -t YOUR_AUTOMATION_TOKEN -p PROJECT_IDDie Projekt -ID kann auf Projektdetails Seite von URL
https://app.monokle.com/dashboard/projects/<projectId>erhalten werden.
Sie können auch die Herkunft ändern, mit der Richtlinien abgerufen werden (z. B. wenn Sie Ihre eigene Instanz von Monokle Enterprise ausführen):
monokle validate project/path -t YOUR_AUTOMATION_TOKEN -p PROJECT_ID -r https://monokle.mydomain.comWichtig : Denken Sie immer daran, Ihr API -Token als geheim zu halten und es an CI/CD -Jobs zu übergeben wie andere Geheimnisse.
Der Monokle Github -Bot kann verwendet werden, um Ihre Ressourcen als Teil Ihrer Github CI/CD -Pipelines zu validieren. Es ist in die Monokle Cloud outd-of-the-Box integriert, um ein einfaches zentralisiertes Richtlinienmanagement zu ermöglichen.
Die Monokle Github -Aktion kann verwendet werden, um Ihre Ressourcen als Teil Ihrer CI/CD -Pipelines auf GitHub zu validieren. Es gibt mehr Anpassungsfähigkeit, wenn es um die Validierung von Trockenläufergebnissen geht.
Wenn Sie etwas fest in die Monokle Cloud integriert sind, empfehlen wir Monokle GitHub Bot .
Sie können --help -HELTUNG DER HILFTIONISCHEN INFORMATIONEN DER CLI.
Die Monokle CLI sucht nach einer Monokle -Validierungskonfigurationsdatei unter ./monokle.validation.yaml . Sie können dies ändern, indem Sie das Flag --config verwenden.
Alle Regeln sind standardmäßig aktiviert und werden in der Konfigurationsdokumentation von Monokle Validation beschrieben.
Beispiel
plugins :
yaml-syntax : true
kubernetes-schema : true
rules :
yaml-syntax/no-bad-alias : " warn "
yaml-syntax/no-bad-directive : false
open-policy-agent/no-last-image : " err "
open-policy-agent/cpu-limit : " err "
open-policy-agent/memory-limit : " err "
open-policy-agent/memory-request : " err "
settings :
kubernetes-schema :
schemaVersion : v1.24.2Es ist einfach, die Monokle CLI mit benutzerdefinierten Validatoren zu erweitern, die mit anderen mit unserem Monokle Community Plugins -Repository gemeinsam genutzt werden können.
Sie können das Docker Image monokle-cli:latest den Monokle CLI in einer Containerumgebung verwenden. Dies kann besonders nützlich sein, um Monokle in CI/CD -Pipelines oder andere automatisierte Systeme zu integrieren.
Um das Docker -Bild auszuführen, können Sie den Befehl docker run verwenden. Die Argumente von Monokle CLI können direkt an den Befehl Docker Run übergeben werden. Zum Beispiel:
docker run -v /path/to/input:/input -e CONFIG_FILE=my-validation-config.yaml monokle-cli:latest validate /input
In diesem Befehl:
-v /path/to/input:/input montiert ein Verzeichnis von Ihrem Hostsystem zum/Eingangsverzeichnis im Docker -Container.-e CONFIG_FILE=my-validation-config.yaml legt eine Umgebungsvariable im Docker-Container fest. Wenn diese Umgebungsvariable festgelegt ist, verwendet der Docker -Container die angegebene Datei als Konfiguration der Monokle -Validierung.validate /input ist der Befehl, der an die Monokle CLI übergeben wird. Sie können dies durch jeden Befehl ersetzen, den Sie mit der Monokle CLI ausführen möchten.