Saltar al contenido

Agentes privados de Jitterbit en Docker

Introducción

Los ejemplos de esta página le muestran cómo ejecutar uno o más agentes privados en contenedores. usando la imagen del centro Docker de Jitterbit. Solución de problemas La sección ofrece una lista de problemas comunes y sus soluciones.

Nota

La imagen de Docker no se actualiza al mismo tiempo que los paquetes del agente de Windows o Linux. Consulta la página de etiquetas de la imagen para ver qué versiones están disponibles.

Los siguientes ejemplos muestran cómo ejecutar un solo agente:

Los siguientes ejemplos muestran cómo ejecutar varios agentes:

Importante

Utilice los comandos de esta página para realizar pruebas o como base para un mayor desarrollo y consulte la documentación de Docker para obtener información sobre cómo adaptarlos a los sistemas de producción.

Prerrequisitos

Debes tener lo siguiente:

  • Docker
  • Su nombre de usuario y contraseña de su cuenta Harmony.
  • El nombre de su organización Harmony.

Debe tener lo siguiente para ejecutar los ejemplos de agentes múltiples:

Inicio rápido

Este ejemplo utiliza el jitterbit-config dominio para solicitar la información de registro del agente, el jitterbit dominio para iniciar el agente, y tail -F esperar y mostrar el archivo de registro del agente.

  1. Seleccione Management Console > Agentes en el menú del Portal Harmony y luego agregar un grupo de agentes privados, o anote el nombre y el ID de uno existente.

  2. En una terminal, ejecute este comando y responda a las indicaciones:

    docker run -it jitterbit/agent sh -c "jitterbit-config; jitterbit start; tail -F log/jitterbit-agent.log"
    
  3. Para comprobar el estado de su agente, actualice la página Management Console > Agentes.

  4. En la terminal, presione Control+C para detener al agente, o utilizar el docker container stop comando.

  5. (Opcional) Eliminar el agente que utiliza la Management Console. (Los agentes iniciados de esta manera no se eliminan automáticamente cuando se detienen).

Registro manual con variables de ambiente

En el Ejemplo de inicio rápido, debe ingresar la información de registro del agente cuando se le solicite. En este ejemplo, esta información se proporciona mediante variables de ambiente.

  1. Agregar un agente a su grupo de agentes y anote su nombre.

  2. Cree un archivo que contenga lo siguiente, con valores establecidos de acuerdo con la siguiente tabla:

    HARMONY_ORIGIN=
    HARMONY_USERNAME=
    HARMONY_PASSWORD=
    HARMONY_ORG_NAME=
    HARMONY_AGENT_GROUP_NAME=
    HARMONY_AGENT_NAME=
    
    Variable Descripción del valor
    HARMONY_ORIGIN La URL de inicio de sesión para su cuenta de Harmony, https://REGION.jitterbit.com, dónde REGION es uno de na-east, emea-west, o apac-southeast.
    HARMONY_USERNAME Su nombre de usuario de su cuenta Harmony.
    HARMONY_PASSWORD La contraseña de tu cuenta Harmony.
    HARMONY_ORG_NAME El nombre de su organización Harmony.
    HARMONY_AGENT_GROUP_NAME El nombre del grupo de agentes y el nombre del ambiente, separados por un guión bajo.
    HARMONY_AGENT_NAME El nombre del agente.
    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. En una terminal, ejecute este comando para iniciar el agente, reemplazando FILE con el nombre del archivo creado en el paso 2:

    docker run --env-file FILE jitterbit/agent
    
  4. Para comprobar el estado de su agente, actualice la página Management Console > Agentes.

  5. En la terminal, presione Control+C para detener al agente, o utilizar el docker container stop comando.

  6. (Opcional) Eliminar el agente que utiliza la Management Console. (Los agentes iniciados de esta manera no se eliminan automáticamente cuando se detienen).

Registro automático con variables de ambiente

El registro manual tiene dos desventajas ejemplo: debe agregar manualmente un agente en la Management Console, y sus credenciales de Harmony serán visibles para cualquier persona con acceso al sistema.

Este ejemplo evita ambos casos. Utiliza registro automático para agregar automáticamente un agente a Harmony. Sus credenciales de Harmony se cifran y se transfieren junto con los demás valores de registro necesarios al contenedor mediante un conjunto diferente de variables de ambiente.

  1. En una terminal, ejecute lo siguiente: jitterbit-utils dominio para cifrar sus credenciales, reemplazando USERNAME y PASSWORD con tu nombre de usuario y contraseña de Harmony:

    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. Copie el resultado para utilizarlo en el siguiente paso.

  3. Cree un archivo que contenga lo siguiente, con los valores sustituidos según la tabla siguiente:

    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 Descripción del valor
    HARMONY_ORIGIN La URL de inicio de sesión para su cuenta de Harmony, https://REGION.jitterbit.com, dónde REGION es uno de na-east, emea-west, o apac-southeast.
    AUTO_REGISTER_AGENT_GROUP_ID El número de identificación del grupo del agente.
    AUTO_REGISTER_ENCRYPTED_USERNAME La primera línea de salida del paso 1.
    AUTO_REGISTER_ENCRYPTED_PASSWORD La segunda línea de salida del paso 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. Ejecute este comando para iniciar el agente privado en contenedor, donde FILE es el nombre del archivo creado en el paso 2:

    docker run --detach --env-file FILE jitterbit/agent
    
  5. Para comprobar el estado de su agente, actualice la página Management Console > Agentes.

  6. Para detener el agente, utilice la Management Console para detener el drenaje el agente.

  7. Para detener el contenedor, busque el ID del contenedor con docker ps, luego usa docker container stop CONTAINER_ID.

  8. Si AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP está configurado para true, el agente se elimina automáticamente cuando se detiene. Si no es así, eliminar el agente en la Management Console.

Registro automático con register.json archivo

Este ejemplo muestra una alternativa al registro con variables de ambiente : utilizar un register.json archivo.

  1. Ejecute el archivo jitterbit-utils dominio para cifrar su nombre de usuario y contraseña de Harmony:

    docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
    

    Sugerencia

    Puede utilizar el mismo nombre de usuario y contraseña cifrados del ejemplo anterior.

  2. Cree un directorio y un archivo conf/register.json que contiene lo siguiente, con valores establecidos según la siguiente tabla:

    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
    }
    
    Parámetro Descripción del valor
    cloudUrl La URL de inicio de sesión para su cuenta de Harmony, https://REGION.jitterbit.com, dónde REGION es uno de na-east, emea-west, o apac-southeast.
    agentGroupId El número de identificación del grupo del agente.
    username El nombre de usuario cifrado (primera línea de salida del paso 1).
    password La contraseña cifrada (segunda línea de salida del paso 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
    }
    

    Sugerencia

    Un agente iniciado de esta manera usa la configuración predeterminada en la imagen de Docker jitterbit.conf archivo. Sin persistencia, cualquier cambio que realice en este archivo dentro del contenedor se perderá cuando el contenedor se detenga. Para usar sus propias configuraciones, colóquelas en conf/jitterbit.conf Este archivo se copia en el contenedor cuando se inicia, sobrescribiendo el archivo predeterminado.

  3. Ejecute este comando para iniciar el agente privado en contenedor:

    docker run --detach --name jitterbit-agent --rm --volume ./conf:/conf jitterbit/agent
    

    Importante

    El agente privado no se inicia si el conf El directorio contiene tanto un credentials.txt archivo y un register.json archivo.

  4. Para comprobar el estado de su agente, actualice la página Management Console > Agentes.

  5. Para detener el agente, utilice la Management Console para detener el drenaje el agente.

  6. Para detener el contenedor, busque el ID del contenedor con docker ps, luego usa docker stop CONTAINER_ID.

  7. Si deregisterAgentOnDrainstop está configurado para true, el agente se elimina automáticamente cuando se detiene. Si no es así, eliminar el agente en la Management Console.

Múltiples agentes con docker compose

En este ejemplo, tres agentes privados con configuraciones idénticas se ejecutan en un grupo de agentes.

  1. Cree un archivo de variables de ambiente como se muestra arriba.

  2. Crea un archivo docker-compose.yml que contiene lo siguiente:

    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: El nombre del archivo de variable de ambiente creado en el paso 1.
  3. Ejecute este comando para iniciar el grupo de agentes privados:

    docker compose up -d
    

    Consejo

    Corre docker compose logs -f para ver los archivos de registro de todos los agentes, o docker stats para monitorear el uso de recursos de cada agente.

  4. Para comprobar el estado de su agente, actualice la página Management Console > Agentes.

  5. Ejecute este comando para detener el grupo de agentes privados y eliminar sus contenedores:

    docker compose down -d
    

Múltiples agentes con helm y kubernetes

Jitterbit proporciona un diagrama de Helm que puedes usar para ejecutar un clúster de agentes usando Kubernetes.

  1. Iniciar un clúster de Kubernetes.

    Consejo

    En Docker Desktop, seleccione Configuración > Kubernetes > Habilitar Kubernetes.

  2. Ejecute este comando para cifrar su nombre de usuario y contraseña de Harmony:

    docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
    

    Sugerencia

    Puedes utilizar el mismo resultado de los ejemplos anteriores.

  3. Crea un archivo values.yaml que contiene lo siguiente, con valores sustituidos según la tabla siguiente:

     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
    
    Línea Valor Reemplazar con
    9 REGION La región de su cuenta Harmony (na-east, emea-west, o apac-southeast).
    10 GROUP_ID El número de identificación del grupo del agente.
    11 ENCRYPTED_USERNAME La primera línea de salida del paso 2.
    12 ENCRYPTED_PASSWORD La segunda línea de salida del paso 2.

    Precaución

    Esta configuración especifica que Kubernetes debe ejecutar al menos 3 y como máximo 5 agentes si el Escalador automático de pods horizontal está activo, o 4 agentes si no lo está. Como cada agente privado de Docker necesita aproximadamente 0,25 núcleos de CPU y 2 GB de memoria, debe consultar las especificaciones de su host puede admitir esta cantidad de agentes. También puede agregar un resources Elemento para establecer los límites de utilización de recursos. Para obtener más detalles, consulte el ejemplo de Jitterbit value.yml archivo.

  4. Ejecute estos comandos para agregar y actualizar el repositorio de gráficos de Helm:

    helm repo add jitterbit https://jitterbit.github.io/charts
    helm repo update
    
  5. Ejecute este comando para iniciar el clúster de agente privado:

    helm upgrade -i -f values.yaml private-agent-group jitterbit/agent-group
    

    Consejo

    Corre kubectl -n default get pods --watch para monitorear el estado del clúster, o kubectl exec -it private-agent-group-0 -- curl localhost:46912/axis/v1/cdk/internal/members para enumerar los miembros del clúster del servicio de escucha.

  6. Ejecute este comando para detener el clúster y eliminar los contenedores:

    helm uninstall private-agent-group
    

Solucionar problemas

Estas secciones de la Página de solución de problemas puede ayudar a la hora de solucionar problemas con agentes privados que se ejecutan en Docker: