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 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:

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.

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

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

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

  2. 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, 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, durch einen Unterstrich getrennt.
    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 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
    
  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: 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.

  1. Führen Sie in einem Terminal den folgenden Befehl 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 zur Verwendung im nächsten Schritt.

  3. 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, 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 von 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 FILE ist 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 zum 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 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.

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

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

  1. Erstellen Sie eine Umfeld wie oben gezeigt.

  2. Erstellen Sie eine Datei docker-compose.yml enthält Folgendes:

    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 Umfeld, die in Schritt 1 erstellt wurde.
  3. 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, 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. Starten Sie einen Kubernetes-Cluster.

    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 gleiche 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 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 Jitterbit value.yml Datei.

  4. 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
    
  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 --watch um den Clusterstatus zu überwachen, oder kubectl exec -it private-agent-group-0 -- curl localhost:46912/axis/v1/cdk/internal/members um die Mitglieder des Clusters des abhörenden Dienstes aufzulisten.

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