Zum Inhalt springen

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:

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-configBefehl, um die Registrierungsinformationen des Agenten abzufragen, die jitterbitBefehl, um den Agenten zu starten, und tail-F um auf die Agenten-Protokolldatei zu warten und diese anzuzeigen.

  1. 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.

  2. 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"
    
  3. Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.

  4. Drücken Sie im Terminal Control+C um den Agenten zu stoppen, oder verwenden Sie die docker container stop Befehl.

  5. (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.

  1. Agenten hinzufügen zu Ihrer Agentengruppe hinzufügen und deren Namen notieren.

  2. 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, Wo REGION ist einer von na-east, emea-west, oder apac-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.
    Example
    HARMONY_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
    
  3. 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
    
  4. Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.

  5. Drücken Sie im Terminal Control+C um den Agenten zu stoppen, oder verwenden Sie die docker container stop Befehl.

  6. (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.

  1. Führen Sie in einem Terminal Folgendes aus jitterbit-utils Befehl, um Ihre Anmeldeinformationen zu verschlüsseln und zu ersetzen USERNAME Und PASSWORD mit Ihrem Harmony-Benutzernamen und-Passwort:

    docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
    
    Example command
    docker run jitterbit/agent jitterbit-utils -e example@jbexample.com P@55w0rd
    
    Example output
    $00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C
    $003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=
    
  2. Kopieren Sie die Ausgabe für den nächsten Schritt.

  3. 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, Wo REGION ist einer von na-east, emea-west, oder apac-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.
    Example
    HARMONY_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=
    
  4. Führen Sie diesen Befehl aus, um den containerisierten privaten Agenten zu starten. FILEist der Name der in Schritt 2 erstellten Datei:

    docker run --detach --env-file FILE jitterbit/agent
    
  5. Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.

  6. Um den Agenten zu stoppen, verwenden Sie die Management Console, um drain stop den Agenten.

  7. Um den Container zu stoppen, suchen Sie die Container-ID mit docker ps, dann verwenden Sie docker container stop CONTAINER_ID.

  8. Wenn AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP ist eingestellt auf true, 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.

  1. Führen Sie die jitterbit-utilsBefehl, 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.

  2. Erstellen Sie ein Verzeichnis und eine Datei. conf/register.jsonEnthä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, Wo REGION ist einer von na-east, emea-west, oder apac-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.confDatei. 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 in conf/jitterbit.conf Diese Datei wird beim Start in den Container kopiert und überschreibt die Standarddatei.

  3. 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 eine credentials.txt Datei und eine register.json Datei.

  4. Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.

  5. Um den Agenten zu stoppen, verwenden Sie die Management Console, um drain stop den Agenten.

  6. Um den Container zu stoppen, suchen Sie die Container-ID mit docker ps, dann verwenden Sie docker stop CONTAINER_ID.

  7. Wenn deregisterAgentOnDrainstop ist eingestellt auf true, 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.

  1. Erstellen Sie eine Umfeld wie oben gezeigt.

  2. Datei erstellen docker-compose.yml mit folgendem Inhalt:

    docker-compose.yml
    services:
        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.
  3. Führen Sie diesen Befehl aus, um die private Agentengruppe zu starten:

    docker compose up -d
    

    Tipp

    Ausführen docker compose logs -fum die Logdateien aller Agenten anzusehen, oder docker stats um die Ressourcennutzung jedes Agenten zu überwachen.

  4. Um den Status Ihres Agenten zu überprüfen, aktualisieren Sie die Seite Management Console > Agenten.

  5. 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.

  1. Kubernetes-Cluster starten.

    Tipp

    Wählen Sie in Docker Desktop Einstellungen > Kubernetes > Kubernetes aktivieren.

  2. 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.

  3. 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, oder apac-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 Jitterbit value.yml Datei.

  4. 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
    
  5. 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 --watchum den Clusterstatus zu überwachen, oder kubectl exec -it private-agent-group-0 -- curl localhost:46912/axis/v1/cdk/internal/membersum die Mitglieder des Clusters des Listening-Dienstes aufzulisten.

  6. 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-configOption.)
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: