Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie benötigen Jetpack auf jedem Knoten eines Clusters. Azure CycleCloud installiert Jetpack automatisch auf jedem virtuellen Computer, den Sie bereitstellen, um zu einem Knoten in einem Cluster zu werden. Jetpack bietet drei Hauptfunktionen:
- Node-Konfiguration – CycleCloud verwendet Skripts und Chef , um die Konfiguration einer bereitgestellten VM in einem Arbeitsclusterknoten zu automatisieren. Ein Chefclient und die erforderlichen Ressourcen für die Konfiguration der VM sind in Jetpack eingebettet.
- Verteilte Synchronisierung – Jetpack verwaltet die Kommunikation zwischen dem Knoten und dem CycleCloud-Anwendungsserver. Diese Verwaltung ermöglicht CycleCloud, den Status der Bereitstellungs-VMs zu überwachen und die Orchestrierung mehrerer Knoten im Cluster zu synchronisieren.
- HealthCheck – Jetpack verwendet HealthCheck , um die Integrität von VMs zu ermitteln, damit fehlerhafte VMs beendet werden können.
Jetpack-Installation
Das Jetpack-Installationsprogramm wird in Ihrem Azure Storage-Konto zwischengespeichert, wenn Sie einen Cluster mit CycleCloud zum ersten Mal starten. Wenn Cluster-VMs bereitgestellt werden, wird eine benutzerdefinierte Skripterweiterung als Teil des Startvorgangs ausgeführt. Diese Erweiterung lädt das Jetpack-Installationsprogramm aus Ihrem Azure Storage-Cache herunter und installiert es dann auf dem virtuellen Computer.
Das Jetpack-Installationsprogramm:
- Entpackt die Jetpack-Dateien in eine einzelne Verzeichnisstruktur:
- Windows: C:\cycle\jetpack
- Linux: /opt/cycle/Jetpack
- Erstellt Systeminit-Startskripts, die einen virtuellen Computer als Clusterknoten konfigurieren
- Installiert den HealthCheck-Dienst
- Installiert das Jetpack-Befehlszeilentool für Folgendes:
- Windows: C:\cycle\jetpack\bin\jetpack
- Linux: /opt/cycle/jetpack/bin/jetpack
- Erstellt udev-Regeln unter Linux
- Legt die Umgebungsvariable fest
CYCLECLOUD_HOME
Hinweis
Wenn Jetpack auf dem Image vorinstalliert ist, installiert die benutzerdefinierte Skripterweiterung Jetpack nicht neu. Stattdessen wird ein Initialisierungsschritt ausgeführt, der die Verbindung des Knotens mit CycleCloud überprüft und die Dienste healthcheck und jetpackd startet, bevor der Knoten konfiguriert wird.
Jetpack-Unterverzeichnisse
| Verzeichnis | BESCHREIBUNG |
|---|---|
bin |
Nützliche Binärdateien und Skripts. |
config |
Benutzerdefinierte und clusterdefinierte Konfigurationsdateien und -skripts. |
logs |
Protokolle, die erzeugt werden, indem sie einem Cluster beitreten und den Knoten verbinden. Von besonderem Interesse ist jetpack.log, das die Ergebnisse des konvergenten Prozesses enthält. |
run |
Vom System generierte Laufzeitdateien. Es wird nicht empfohlen, direkt auf diese Dateien zuzugreifen. |
system |
Interne Dateien. Es wird nicht empfohlen, dateien in diesem Verzeichnis direkt zu verwenden, da sie sich von Release zu Release erheblich ändern können. |
HealthCheck
Der HealthCheck-Dienst führt benutzerdefinierte Skripts aus, um die aktuelle Rentabilität eines virtuellen Computers als Clusterknoten zu ermitteln. Weitere Informationen finden Sie in der HealthCheck-Dokumentation .
Jetpack-Befehlszeilentool
Das Jetpack-Befehlszeilentool bietet eine nützliche Gruppe von Unterbefehlen zum Bearbeiten der aktuellen VM und interaktion mit Azure CycleCloud.
| Befehl | BESCHREIBUNG |
|---|---|
jetpack autoscale |
Autoskalieren des Clusters, zu dem dieser Knoten gehört. |
jetpack config |
Dient zum Abrufen eines Konfigurationswerts. |
jetpack converge |
Führen Sie eine "Konvergenz" aus, um die Knotenkonfiguration zu aktualisieren. |
jetpack download |
Laden Sie eine BLOB-Ressource aus einem Projekt in Azure Storage herunter. |
jetpack keepalive |
Verzögern Sie die Systembeendigung über den HealthCheck-Dienst. |
jetpack log |
Protokollieren Sie eine Nachricht auf der CycleCloud-Clusterbenutzeroberfläche. |
jetpack run_on_shutdown |
Fügen Sie ein Skript hinzu, das vor dem Beenden des Knotens aufgerufen werden soll. |
jetpack send |
Senden Sie eine beliebige AMQP-Nachricht an den CycleCloud-Server. |
jetpack shutdown |
Fordern Sie das Herunterfahren des virtuellen Computers von CycleCloud an. |
jetpack test |
Führen Sie Tests aus, die projekten zugeordnet sind, die der VM zugewiesen sind. |
jetpack users |
Auflisten von Benutzern, die CycleCloud auf dieser VM verwaltet. |
jetpack report_issue |
Archiviert Protokolldateien von vm in Azure Storage |
jetpack Automatische Skalierung
Verwenden Sie jetpack autoscale, um die Autoskalierungsziele für den Cluster festzulegen, zu dem der Knoten gehört. Sie können Cluster nach Kernen, Instanzenanzahl oder benutzerdefinierten Definitionen skalieren.
So skalieren Sie auf 100 Kerne:
jetpack autoscale --corecount=100
So skalieren Sie das Knotenarray "gpu" auf fünf Knoten:
jetpack autoscale --instancecount 5 --name=gpu
Um die automatische Skalierung anzupassen, schreiben Sie eine JSON-Datei auf den Datenträger, die die Knotenarraydefinition enthält, die Sie skalieren möchten. Um mit 100 Kernen zu skalieren:
[
{
"Name": "execute",
"TargetCoreCount": 100
}
]
jetpack autoscale --file=custom-autoscale.json
Jetpack-Konfiguration
Verwenden Sie jetpack config zum Abrufen von Informationen, die CycleCloud an einen virtuellen Computer übergibt. Es macht Folgendes verfügbar:
- alle über Ohai zur Verfügung gestellten Systemeigenschaften
- eine Teilmenge der Azure-Metadaten des virtuellen Computers
- Informationen zum übergeordneten CycleCloud-Cluster
jetpack converge
jetpack converge befehl lädt alle CycleCloud-Projekte herunter, die dem Knoten zugeordnet sind, und startet einen Konvergenten Prozess, der die Cluster-init-Skripts für den Knoten ausführt.
Jetpack herunterladen
jetpack download Befehl lädt ein Blob herunter, das Sie mit einem Projekt in den Knoten hochgeladen haben. Sie müssen das Projekt angeben, zu dem das Blob gehört.
So laden Sie den BLOB-big-file.zip herunter, den Sie als Teil des example-project Projekts in das aktuelle Verzeichnis hochgeladen haben:
jetpack download --project example-project big-file.zip .
jetpack keepalive
jetpack keepalive der Befehl interagiert mit dem HealthCheck-Dienst, um die Beendigung des virtuellen Computers aufgrund eines fehlerhaften HealthCheck-Vorgangs zu verzögern. Sie können die Verzögerung auf einen festen Zeitraum oder unbegrenzt festlegen. Standardmäßig verzögert der Befehl die Beendigung um eine Stunde.
So verzögern Sie die Systemendung um eine Stunde:
jetpack keepalive
So verzögern Sie die Systembeendigung um sechs Stunden:
jetpack keepalive 6h
So deaktivieren Sie den HealthCheck-Dienst vollständig, d. a. um die Beendigung auf unbestimmte Zeit zu verzögern:
jetpack keepalive forever
Hinweis
Nur die forever Option ist für HealthCheck auf Windows-VMs verfügbar.
Jetpack-Protokoll
jetpack log sendet eine Protokollnachricht zurück an CycleCloud. Die Meldung wird im Anwendungsserverprotokoll (in der Regel /opt/cycle_server/cycle_server.log), dem Hauptereignisprotokoll und der Cluster-UI-Seite angezeigt.
Jede Nachricht verfügt über zwei Eigenschaften: level und priority.
Die level Eigenschaft gibt den Nachrichtentyp an. Gültige Ebenen sind info, warnund error. Die Ebene gibt nicht die Wichtigkeit einer bestimmten Nachricht an. Einige Fehler sind z. B. trivial; manche Informationsnachrichten sind kritisch.
Priorität gibt die Wichtigkeit der Nachricht an. Gültige Prioritätswerte sind "niedrig", "mittel" und "hoch". Nur Nachrichten mit mittlerer oder höherer Priorität werden auf der Cluster-UI-Seite angezeigt, um zu vermeiden, dass die Seite mit Nachrichten niedriger Priorität überflutet wird.
Um eine Informationsprotokollnachricht zu senden, die auf der Benutzeroberfläche der Cluster-Seite angezeigt wird:
jetpack log 'system is now ready'
So senden Sie eine Protokollnachricht mit niedriger Priorität, die auf der Cluster-UI-Seite nicht angezeigt werden soll:
jetpack log 'system is now ready' --priority low
Standardmäßig haben Nachrichten mit einer Fehlerstufe eine hohe Priorität. So senden Sie eine Fehlermeldung:
jetpack log 'the machine cannot process jobs' --level error
So senden Sie eine triviale Fehlermeldung:
jetpack log 'the machine cannot process jobs' --level error --priority low
jetpack run_on_shutdown
Der jetpack run_on_shutdown Befehl registriert ein Bash-Skript, das vor dem Beenden des Knotens aufgerufen werden soll.
Der Befehl verwendet den absoluten Pfad zum Skript als Argument.
Wenn Azure den Knoten beendet und Benachrichtigungen über beendigungen aktiviert sind, empfängt Jetpack die Benachrichtigung über die Beendigung. Es versucht, das Skript auszuführen, bevor der Knoten heruntergefahren wird.
Knoten müssenBeendigungsbenachrichtigungen aktivieren, damit run_on_shutdown aktiviert werden kann.
jetpack run_on_shutdown /tmp/example.sh
Dieser Befehl wird für Windows-Knoten nicht unterstützt.
Jetpack senden
jetpack send sendet eine AMQP-Nachricht an CycleCloud. Es handelt sich um einen erweiterten Befehl, den wir nicht empfehlen, es sei denn, Sie entwickeln Plug-Ins für CycleCloud.
Sie können beliebige Zeichenfolgen oder Dateien mit angegebenen AMQP-Routingschlüsseln senden.
Jetpack Abschalten
Verwenden Sie jetpack shutdown, um anzufordern, dass CycleCloud den Knoten terminiert. Sie können Optionen an den Befehl übergeben, um den Grund für die Herunterfahren-Anforderung (im Leerlauf oder ungesund) anzugeben und den Knoten zu beenden (beenden vs deallocate).
Verwenden Sie zum Herunterfahren eines fehlerhaften Knotens den folgenden Befehl:
jetpack shutdown --unhealthy
Um den Knoten freizugeben:
jetpack shutdown --deallocate
Jetpack-Test
Verwenden Sie jetpack test, um alle Tests auszuführen, die in Projekten enthalten sind, die dem Knoten zugewiesen sind. Mit dem Befehl werden die Ergebnisse in "stdout" gedruckt.
Jetpack-Benutzer
jetpack users listet die Benutzer auf, die CycleCloud auf dem Knoten verwaltet. Diese Liste kann sich im Laufe der Zeit ändern, wenn Benutzer dem Cluster zugewiesen und entfernt werden.
So rufen Sie einen benutzerfreundlichen Ausdruck der Benutzer ab, die dem Knoten zugewiesen sind:
$ jetpack users
Username: test-user
Full Name: Test User
UID: 10201
Is Admin: True
Is Owner: True
So rufen Sie skriptfreundliche JSON-Ausgabe ab:
$ jetpack users --json
[
{
"fullName": "Test User",
"isAdmin": true,
"isOwner": true,
"name": "test-user",
"publicKeys": [
"ssh-rsa public-key-goes-here\n"
],
"uid": 10201
}
]
Jetpack Problem melden
jetpack report_issue archiviert Protokollverzeichnisse von der VM, optional hochladen sie in Azure Storage und erstellen eine signierte URL für den externen Zugriff. Der Befehl lädt Protokolle in das Azure Storage-Konto hoch, auf das vom Schließfach des Knotens verwiesen wird. Wenn Sie ein Archiv in Azure Storage signieren, hat das resultierende SAS-Token 30 Tage lang schreibgeschützten Zugriff.
Verwendung:
$ jetpack report_issue [LOG_PATH] [--upload/--no-upload] [--sign/--no-sign]
Zum Archivieren, Hochladen und Signieren der Jetpack-Standardprotokolle ($JETPACK_HOME/logs):
$ jetpack report_issue
Logs can be found at: https://testaccount.blob.core.windows.net/cyclecloud/issues/TestCluster-execute-1-77777964-8b74-420d-ad44-094edf7695f2.zip?sv=2017-11-09&rsct=binary&sig=jBJUlYo10lRq0eW94I%2B6syzYVmgo1qcTFUc35D/q0Tg%3D&se=2020-12-04T15%3A15%3A00Z&spr=https&rscd=disposition%3Dfile%3B%20attachment&sp=r&sr=b
Signed URL will expire on: 2020-12-04T15:15:00Z
Zum Archivieren, Hochladen, aber nicht Signieren eines nicht standardmäßigen Protokollverzeichnisses:
$ jetpack report_issue /var/log/azure --no-sign
Logs can be found at: https://testaccount.blob.core.windows.net/cyclecloud/issues/TestCluster-execute-1-d67fe991-1dac-4644-9af7-50c835726f5e.zip
So archivieren Sie Protokolle auf dem lokalen virtuellen Computer:
$ jetpack report_issue --no-upload
Logs can be found at: /tmp/tmp4nscw705/TestCluster-execute-1-4249e973-3d87-4b14-94ed-6856a5267972.zip