Private Jitterbit-Agenten auf Docker
Einführung
Die Beispiele auf dieser Seite zeigen Ihnen, wie Sie einen oder mehrere containerisierte private Agenten ausführen mit Jitterbits Docker-Hub-Image. 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 die verfügbaren Versionen anzuzeigen.
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 Weiterentwicklung und konsultieren Sie die Docker-Dokumentation für Informationen zur Anpassung an Produktionssysteme.
Voraussetzungen
Sie benötigen Folgendes:
- Docker
- Benutzername und Passwort Ihres Harmony Kontos.
- Der Name Ihrer Harmony-Organisation.
Zum Ausführen der Beispiele mit mehreren Agenten müssen Sie über Folgendes verfügen:
Schnellstart
In diesem Beispiel wird jitterbit-config
Befehl, um die Registrierungsinformationen des Agenten abzufragen, die jitterbit
Befehl, um den Agenten zu starten, und tail-F
um auf die Agenten-Protokolldatei zu warten und diese anzuzeigen.
-
Wählen Sie Management Console > Agenten aus dem Harmony-Portal-Menü und dann eine private Agentengruppe hinzufügen oder notieren Sie sich den Namen und die ID eines vorhandenen Kontos.
-
Führen Sie in einem Terminal diesen Befehl aus und befolgen Sie die Anweisungen:
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.
-
Agenten hinzufügen zu Ihrer Agentengruppe hinzufügen und deren Namen notieren.
-
Erstellen Sie eine Datei mit den folgenden Werten gemäß der folgenden Tabelle:
HARMONY_ORIGIN= HARMONY_USERNAME= HARMONY_PASSWORD= HARMONY_ORG_NAME= HARMONY_AGENT_GROUP_NAME= HARMONY_AGENT_NAME=
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
.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, getrennt durch einen Unterstrich. 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 diesen Befehl in einem Terminal aus, um den Agenten zu starten. 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 Beispiel: Sie müssen einen Agenten manuell in der Management Console hinzufügen und Ihre Harmony Anmeldeinformationen sind für jeden sichtbar, der Zugriff auf das System hat.
Dieses Beispiel vermeidet beides. Es verwendet die automatische Registrierung, um Harmony automatisch einen Agenten hinzuzufügen. Ihre Harmony Anmeldeinformationen werden verschlüsselt und zusammen mit den anderen erforderlichen Registrierungswerten mithilfe eines anderen Satzes von Umfeld an den Container übergeben.
-
Führen Sie in einem Terminal Folgendes 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 für den nächsten Schritt.
-
Erstellen Sie eine Datei mit den folgenden Werten, 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 aus 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, um 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 beim Stoppen automatisch entfernt. 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 gemäß der folgenden Tabelle: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 aus Schritt 1). password
Das verschlüsselte Passwort (zweite Ausgabezeile aus 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 so gestarteter Agent verwendet die Standardeinstellungen des Docker-Images.
jitterbit.conf
Datei. Ohne Persistenz gehen alle Änderungen, die Sie an dieser Datei im Container vornehmen, verloren, wenn der Container gestoppt wird. Um Ihre eigenen Einstellungen zu verwenden, fügen Sie diese 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, um 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 beim Stoppen automatisch entfernt. Wenn nicht, löschen den Agenten in der Management Console.
Mehrere Agenten mitdocker compose
In diesem Beispiel werden drei private Agenten mit identischen Konfigurationen in einer Agentengruppe ausgeführt.
-
Erstellen Sie eine Umfeld wie oben gezeigt.
-
Datei erstellen
docker-compose.yml
mit folgendem Inhalt: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 in Schritt 1 erstellten Umfeld.
-
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.
-
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 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 aus Schritt 2. 12 ENCRYPTED_PASSWORD
Die zweite Ausgabezeile aus Schritt 2. Vorsicht
Diese Konfiguration legt fest, dass Kubernetes mindestens drei und höchstens fünf Agenten ausführen soll, wenn der Horizontal Pod Autoscaler aktiv ist, oder 4 Agenten, falls nicht. Da jeder private Docker-Agent etwa 0,25 CPU-Kerne und 2 GB Arbeitsspeicher 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 Details finden Sie im Beispiel von Jitterbitvalue.yml
Datei. -
Führen Sie die folgenden 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 Listening-Dienstes aufzulisten. -
Führen Sie diesen Befehl aus, um den Cluster zu stoppen und die Container zu entfernen:
helm uninstall private-agent-group
Umgebungsvariablen
Die folgenden Umfeld werden vom Docker-Image des privaten Jitterbit-Agenten erkannt:
Kategorie | Variable | Erforderlich | Standard | Erlaubte Werte | Beschreibung |
---|---|---|---|---|---|
Anmelden | HARMONY_ORIGIN | https://na-east.jitterbit.com https://emea-west.jitterbit.com https://apac-southeast.jitterbit.com | Die Anmelde URL für Ihr Harmony Konto. | ||
HARMONY_USERNAME | Zeichenfolge | Der Benutzername Ihres Harmony Kontos. | |||
HARMONY_PASSWORD | Zeichenfolge | Ihr Harmony-Kontopasswort. | |||
HARMONY_ORG_NAME | Zeichenfolge | Der Name Ihrer Harmony-Organisation. | |||
Agent | HARMONY_AGENT_GROUP_NAME | Zeichenfolge | Der Agentgruppenname und der Umfeld, durch einen Unterstrich getrennt. | ||
HARMONY_AGENT_NAME | Zeichenfolge | Der Agentenname. | |||
Beobachtbarkeit | JITTERBIT_ENABLE_METRICS | Datadog Elasticsearch | Aktivieren Sie private Agenten-Beobachtbarkeit für die angegebene Plattform. | ||
DD_API_KEY | (wenn JITTERBIT_ENABLE_METRICS=Datadog ) | Zeichenfolge | Datadog API Schlüssel. | ||
DD_SITE | datadoghq | Zeichenfolge | URL der Datadog-Site. | ||
DD_HOST_NAME | Automatisch (vom Systemhostnamen) | Zeichenfolge | Hostname des Datadog-Agenten. | ||
ES_API_KEY | (wenn JITTERBIT_ENABLE_METRICS=Elasticsearch ) | Zeichenfolge | Elasticsearch API Schlüssel. | ||
ES_URL | (wenn JITTERBIT_ENABLE_METRICS=Elasticsearch ) | Zeichenfolge | Elasticsearch URL. | ||
METRICS_AGENT_NAME | Automatisch (von auto-register Informationen) | Zeichenfolge | Name des privaten Agenten. | ||
METRICS_AGENT_GROUP_NAME | Automatisch (von auto-register Informationen) | Zeichenfolge | Name der privaten Agentengruppe. | ||
METRICS_ENVIRONMENT_NAME | Automatisch (von auto-register Informationen) | Zeichenfolge | Umgebungsname. | ||
SKIP_METRICS_CONFIG | Zeichenfolge | Wenn true , konfigurieren Sie Jitterbit-Metriken nicht automatisch. (Entspricht jitterbit-config -k /--skip-metrics-config Option.) | |||
ENABLE_JITTERBIT_METRICS | Zeichenfolge | Wenn true , aktivieren Sie Jitterbit-Metriken. Wird ignoriert, wenn SKIP_METRICS_CONFIG Ist true . |
Fehlerbehebung
Diese Abschnitte auf der Fehlerbehebungsseite kann bei der Fehlerbehebung bei privaten Agenten auf Docker hilfreich sein: