Private Jitterbit-Agenten auf Docker
Einführung
Die Beispiele auf dieser Seite zeigen Ihnen, wie Sie einen oder mehrere containerisierte private Agenten ausführen unter Verwendung des Docker-Hub-Image von Jitterbit. Die Fehlerbehebung Abschnitt enthält eine Liste häufiger Probleme und deren Lösungen.
Notiz
Das Docker-Image wird nicht gleichzeitig mit den Windows oder Linux Agent-Paketen aktualisiert. Weitere Informationen finden Sie auf der Tags-Seite des Images, um zu sehen, welche Versionen verfügbar sind.
Die folgenden Beispiele zeigen, wie ein einzelner Agent ausgeführt wird:
- Schnellstart
- Manuelle Registrierung mit Umfeld
- Automatische Registrierung mit Umfeld
- Automatische Registrierung mit
register.json
Datei
Die folgenden Beispiele zeigen, wie mehrere Agenten ausgeführt werden:
Wichtig
Verwenden Sie die Befehle auf dieser Seite zum Testen oder als Grundlage für die weitere Entwicklung und konsultieren Sie die Docker-Dokumentation für Informationen zur Anpassung an Produktionssysteme.
Voraussetzungen
Sie müssen über Folgendes verfügen:
- Docker
- Benutzername und Passwort Ihres Harmony-Kontos.
- Der Name Ihrer Harmony-Organisation.
Zum Ausführen der Beispiele mit mehreren Agenten benötigen Sie Folgendes:
Schnellstart
Dieses Beispiel verwendet die jitterbit-config
Befehl, um die Registrierungsinformationen des Agenten abzufragen jitterbit
Befehl, um den Agenten zu starten, und tail-F
um auf die Protokolldatei des Agenten zu warten und diese anzuzeigen.
-
Wählen Sie Management Console > Agenten aus dem Harmony-Portalmenü und dann eine private Agentengruppe hinzufügen, oder notieren Sie sich den Namen und die ID einer vorhandenen.
-
Führen Sie in einem Terminal diesen Befehl aus und reagieren Sie auf die Eingabeaufforderungen:
docker run -it jitterbit/agent sh -c "jitterbit-config; jitterbit start; tail-F log/jitterbit-agent.log"
-
Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.
-
Drücken Sie im Terminal
Control+C
, um den Agenten zu stoppen, oder verwenden Sie diedocker container stop
Befehl. -
(Optional) Löschen den Agenten mithilfe der Management Console. (Auf diese Weise gestartete Agenten werden beim Stoppen nicht automatisch entfernt.)
Manuelle Registrierung mit Umfeld
Im Schnellstartbeispiel müssen Sie die Registrierungsinformationen des Agenten eingeben, wenn Sie dazu aufgefordert werden. In diesem Beispiel werden diese Informationen mithilfe von Umfeld bereitgestellt.
-
Agenten hinzufügen zu Ihrer Agentengruppe hinzu und notieren Sie sich deren Namen.
-
Erstellen Sie eine Datei mit den folgenden Angaben und den Werten, die gemäß der folgenden Tabelle festgelegt sind:
HARMONY_ORIGIN= HARMONY_USERNAME= HARMONY_PASSWORD= HARMONY_ORG_NAME= HARMONY_AGENT_GROUP_NAME= HARMONY_AGENT_NAME=
Variable Wert Beschreibung HARMONY_ORIGIN
Die Anmelde URL für Ihr Harmony-Konto, https://REGION.jitterbit.com
, WoREGION
ist einer vonna-east
,emea-west
, oderapac-southeast
.HARMONY_USERNAME
Ihr Harmony-Kontobenutzername. HARMONY_PASSWORD
Ihr Harmony-Kontopasswort. HARMONY_ORG_NAME
Der Name Ihrer Harmony-Organisation. HARMONY_AGENT_GROUP_NAME
Der Agentgruppenname und der Umfeld, durch einen Unterstrich getrennt. HARMONY_AGENT_NAME
Der Name des Agenten. ExampleHARMONY_ORIGIN=https://na-east.jitterbit.com HARMONY_USERNAME=example@jbexample.com HARMONY_PASSWORD=P@55w0rd HARMONY_ORG_NAME=Example Org HARMONY_AGENT_GROUP_NAME=Example Agent Group_Example Env HARMONY_AGENT_NAME=Example Agent 1
-
Führen Sie in einem Terminal diesen Befehl aus, um den Agenten zu starten, und ersetzen Sie
FILE
mit dem Namen der in Schritt 2 erstellten Datei:docker run --env-file FILE jitterbit/agent
-
Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.
-
Drücken Sie im Terminal
Control+C
, um den Agenten zu stoppen, oder verwenden Sie diedocker container stop
Befehl. -
(Optional) Löschen den Agenten mithilfe der Management Console. (Auf diese Weise gestartete Agenten werden beim Stoppen nicht automatisch entfernt.)
Automatische Registrierung mit Umfeld
Die manuelle Registrierung hat zwei Nachteile: Sie müssen in der Management Console manuell einen Agenten hinzufügen und Ihre Harmony Anmeldeinformationen sind für jeden sichtbar, der Zugriff auf das System hat.
Dieses Beispiel vermeidet beides. Es verwendet automatische Registrierung, um Harmony automatisch einen Agenten hinzuzufügen. Ihre Harmony Anmeldeinformationen werden verschlüsselt und zusammen mit den anderen erforderlichen Registrierungswerten unter Verwendung eines anderen Satzes von Umfeld an den Container übergeben.
-
Führen Sie in einem Terminal den folgenden Befehl aus
jitterbit-utils
Befehl, um Ihre Anmeldeinformationen zu verschlüsseln und zu ersetzenUSERNAME
UndPASSWORD
mit Ihrem Harmony-Benutzernamen und-Passwort:docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
Example commanddocker run jitterbit/agent jitterbit-utils -e example@jbexample.com P@55w0rd
Example output$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C $003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=
-
Kopieren Sie die Ausgabe zur Verwendung im nächsten Schritt.
-
Erstellen Sie eine Datei mit den folgenden Angaben, wobei die Werte gemäß der folgenden Tabelle ersetzt werden:
HARMONY_ORIGIN= AUTO_REGISTER=true AUTO_REGISTER_AGENT_GROUP_ID= AUTO_REGISTER_AGENT_NAME_PREFIX=auto AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP=false AUTO_REGISTER_ENCRYPTED_USERNAME= AUTO_REGISTER_ENCRYPTED_PASSWORD=
Variable Wertbeschreibung HARMONY_ORIGIN
Die Anmelde URL für Ihr Harmony-Konto, https://REGION.jitterbit.com
, WoREGION
ist einer vonna-east
,emea-west
, oderapac-southeast
.AUTO_REGISTER_AGENT_GROUP_ID
Die ID-Nummer der Agentengruppe. AUTO_REGISTER_ENCRYPTED_USERNAME
Die erste Ausgabezeile von Schritt 1. AUTO_REGISTER_ENCRYPTED_PASSWORD
Die zweite Ausgabezeile aus Schritt 1. ExampleHARMONY_ORIGIN=https://na-east.jitterbit.com AUTO_REGISTER=true AUTO_REGISTER_AGENT_GROUP_ID=12345 AUTO_REGISTER_AGENT_NAME_PREFIX=auto AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP=false AUTO_REGISTER_ENCRYPTED_USERNAME=$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C AUTO_REGISTER_ENCRYPTED_PASSWORD=$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=
-
Führen Sie diesen Befehl aus, um den containerisierten privaten Agenten zu starten
FILE
ist der Name der in Schritt 2 erstellten Datei:docker run --detach --env-file FILE jitterbit/agent
-
Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.
-
Um den Agenten zu stoppen, verwenden Sie die Management Console zum drain stop den Agenten.
-
Um den Container zu stoppen, suchen Sie die Container-ID mit
docker ps
, dann verwenden Siedocker container stop CONTAINER_ID
. -
Wenn
AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP
ist eingestellt auftrue
, wird der Agent automatisch entfernt, wenn er gestoppt wird. Wenn nicht, löschen den Agenten in der Management Console.
Automatische Registrierung mit register.json
Datei
Dieses Beispiel zeigt eine Alternative zur Registrierung mit Umfeld : die Verwendung eines register.json
-Datei.
-
Führen Sie die
jitterbit-utils
Befehl, um Ihren Harmony-Benutzernamen und Ihr Passwort zu verschlüsseln:docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
Tipp
Sie können denselben verschlüsselten Benutzernamen und dasselbe Passwort wie im vorherigen Beispiel verwenden.
-
Erstellen Sie ein Verzeichnis und eine Datei
conf/register.json
enthält Folgendes, mit Werten, die gemäß der folgenden Tabelle festgelegt sind:conf/register.json{ "cloudUrl": "https://REGION.jitterbit.com", "agentGroupId": GROUP_ID, "username": "ENCRYPTED_USERNAME", "password": "ENCRYPTED_PASSWORD", "agentNamePrefix": "test", "deregisterAgentOnDrainstop": false, "retryCount": 10, "retryIntervalSeconds": 5 }
Parameter Wertbeschreibung cloudUrl
Die Anmelde URL für Ihr Harmony-Konto, https://REGION.jitterbit.com
, WoREGION
ist einer vonna-east
,emea-west
, oderapac-southeast
.agentGroupId
Die ID-Nummer der Agentengruppe. username
Der verschlüsselte Benutzername (erste Ausgabezeile von Schritt 1). password
Das verschlüsselte Passwort (zweite Ausgabezeile von Schritt 1). Example conf/register.json{ "cloudUrl": "https://na-east.jitterbit.com", "agentGroupId": 12345, "username": "$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C", "password": "$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=", "agentNamePrefix": "test", "deregisterAgentOnDrainstop": false, "retryCount": 10, "retryIntervalSeconds": 5 }
Tipp
Ein auf diese Weise gestarteter Agent verwendet die Standardeinstellungen im Docker-Image
jitterbit.conf
Datei. Ohne Persistenz gehen alle Änderungen, die Sie an dieser Datei im Container vornehmen, verloren, wenn der Container angehalten wird. Um Ihre eigenen Einstellungen zu verwenden, fügen Sie sie inconf/jitterbit.conf
. Diese Datei wird beim Start in den Container kopiert und überschreibt die Standarddatei. -
Führen Sie diesen Befehl aus, um den containerisierten privaten Agenten zu starten:
docker run --detach --name jitterbit-agent --rm --volume ./conf:/conf jitterbit/agent
Wichtig
Der private Agent startet nicht, wenn
conf
Verzeichnis enthält sowohl einecredentials.txt
Datei und eineregister.json
Datei. -
Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.
-
Um den Agenten zu stoppen, verwenden Sie die Management Console zum drain stop den Agenten.
-
Um den Container zu stoppen, suchen Sie die Container-ID mit
docker ps
, dann verwenden Siedocker stop CONTAINER_ID
. -
Wenn
deregisterAgentOnDrainstop
ist eingestellt auftrue
, wird der Agent automatisch entfernt, wenn er gestoppt wird. Wenn nicht, löschen den Agenten in der Management Console.
Mehrere Agenten mit docker compose
In diesem Beispiel laufen drei private Agenten mit identischen Konfigurationen in einer Agentengruppe.
-
Erstellen Sie eine Umfeld wie oben gezeigt.
-
Erstellen Sie eine Datei
docker-compose.yml
enthält Folgendes:docker-compose.ymlservices: agent1: env_file: FILE image: jitterbit/agent container_name: jitterbit-agent1 agent2: env_file: FILE image: jitterbit/agent container_name: jitterbit-agent2 agent3: env_file: FILE image: jitterbit/agent container_name: jitterbit-agent3
FILE
: Der Name der Umfeld, die in Schritt 1 erstellt wurde.
-
Führen Sie diesen Befehl aus, um die private Agentengruppe zu starten:
docker compose up -d
Tipp
Ausführen
docker compose logs -f
um die Logdateien aller Agenten anzusehen, oderdocker stats
um die Ressourcennutzung jedes Agenten zu überwachen. -
Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.
-
Führen Sie diesen Befehl aus, um die private Agentengruppe zu stoppen und ihre Container zu entfernen:
docker compose down -d
Mehrere Agenten mit helm
Und kubernetes
Jitterbit bietet ein Helm-Diagramm, mit dem Sie einen Cluster von Agenten mit Kubernetes ausführen können.
-
Starten Sie einen Kubernetes-Cluster.
Tipp
Wählen Sie in Docker Desktop Einstellungen > Kubernetes > Kubernetes aktivieren.
-
Führen Sie diesen Befehl aus, um Ihren Harmony-Benutzernamen und Ihr Passwort zu verschlüsseln:
docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
Tipp
Sie können die gleiche Ausgabe aus den vorherigen Beispielen verwenden.
-
Erstellen Sie eine Datei
values.yaml
enthält Folgendes, wobei die Werte gemäß der folgenden Tabelle ersetzt werden:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
nameOverride: private-agent-group image: repository: jitterbit/agent pullPolicy: always agent: registerjson: cloudUrl: "https://REGION.jitterbit.com" agentGroupId: GROUP_ID username: ENCRYPTED_USERNAME password: ENCRYPTED_PASSWORD agentNamePrefix: "test" deregisterAgentOnDrainstop: true hpa: enabled: true minReplicas: 3 maxReplicas: 5 replicas: 4
Zeile Wert Ersetzen durch 9 REGION
Ihre Harmony-Kontoregion ( na-east
,emea-west
, oderapac-southeast
).10 GROUP_ID
Die ID-Nummer der Agentengruppe. 11 ENCRYPTED_USERNAME
Die erste Ausgabezeile von Schritt 2. 12 ENCRYPTED_PASSWORD
Die zweite Ausgabezeile aus Schritt 2. Achtung
Diese Konfiguration gibt an, dass Kubernetes mindestens 3 und höchstens 5 Agenten ausführen soll, wenn der Horizontal Pod Autoscaler aktiv ist, oder 4 Agenten, wenn nicht. Da jeder private Docker-Agent ungefähr 0,25 CPU-Kerne und 2 GB Speicher benötigt, sollten Sie die Spezifikationen Ihres Hosts überprüfen kann diese Anzahl Agenten unterstützen. Sie können auch einen
resources
Element, um die Grenzen der Ressourcennutzung festzulegen. Weitere Einzelheiten finden Sie im Beispiel von Jitterbitvalue.yml
Datei. -
Führen Sie diese Befehle aus, um das Helm-Chart-Repository hinzuzufügen und zu aktualisieren:
helm repo add jitterbit https://jitterbit.github.io/charts helm repo update
-
Führen Sie diesen Befehl aus, um den privaten Agentencluster zu starten:
helm upgrade -i -f values.yaml private-agent-group jitterbit/agent-group
Tipp
Ausführen
kubectl -n default get pods --watch
um den Clusterstatus zu überwachen, oderkubectl exec -it private-agent-group-0 -- curl localhost:46912/axis/v1/cdk/internal/members
um die Mitglieder des Clusters des abhörenden Dienstes aufzulisten. -
Führen Sie diesen Befehl aus, um den Cluster zu stoppen und die Container zu entfernen:
helm uninstall private-agent-group
Fehlerbehebung
Diese Abschnitte auf der Seite zur Fehlerbehebung kann bei der Fehlerbehebung bei privaten Agenten, die auf Docker laufen, hilfreich sein: