Saltar al contenido

Agentes privados de Jitterbit en Docker

Introducción

Los ejemplos de esta página muestran cómo ejecutar uno o más agentes privados en contenedores usando la imagen del centro Docker de Jitterbit. La 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. Consulte la página de etiquetas de la imagen para ver las versiones disponibles.

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

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.
  • Nombre de su organización Harmony.

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

Inicio rápido

En este ejemplo se 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 mediante la Management Console. (Los agentes iniciados de esta manera no se eliminan automáticamente al detenerse).

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. Añadir un agente a su grupo de agentes y anote su nombre.

  2. Cree un archivo que contenga lo siguiente, con los valores establecidos según la tabla a continuación:

    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 de su cuenta de Harmony, https://REGION.jitterbit.com, dónde REGION es uno de na-east, emea-west, o apac-southeast.
    HARMONY_USERNAME Nombre de usuario de su cuenta Harmony.
    HARMONY_PASSWORD La contraseña de tu cuenta de Harmony.
    HARMONY_ORG_NAME Nombre de su organización Harmony.
    HARMONY_AGENT_GROUP_NAME El nombre del grupo de agentes y el nombre del ambiente, separados por un guion 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 mediante la Management Console. (Los agentes iniciados de esta manera no se eliminan automáticamente al detenerse).

Registro automático con variables de ambiente

El registro manual tiene dos desventajas:#manual) 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 al contenedor junto con los demás valores de registro necesarios 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 su 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 usarlo en el siguiente paso.

  3. Cree un archivo que contenga lo siguiente, sustituyendo los valores según la tabla a continuación:

    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 de 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 de agentes.
    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 drain stop 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 al detenerse. De lo contrario, 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
    

    Consejo

    Puedes usar el mismo nombre de usuario y contraseña cifrados del ejemplo anterior.

  2. Crea un directorio y un archivo. conf/register.jsonContiene lo siguiente, con valores establecidos según la tabla a continuación:

    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 de 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 de agentes.
    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
    }
    

    Consejo

    Un agente iniciado de esta manera utiliza la configuración predeterminada en la imagen de Docker. jitterbit.confArchivo. Sin persistencia, cualquier cambio que realice en este archivo dentro del contenedor se perderá al detenerse. Para usar su propia configuración, introdúzcala en conf/jitterbit.conf Este archivo se copia al contenedor al iniciarse, sobrescribiendo el archivo predeterminado.

  3. Ejecute este comando para iniciar el agente privado contenedorizado:

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

    Importante

    El agente privado no 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 drain stop 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 al detenerse. De lo contrario, eliminar el agente en la Management Console.

Múltiples agentes condocker 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 -fpara 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
    

    Consejo

    Puedes usar el mismo resultado de los ejemplos anteriores.

  3. Crea un archivo values.yaml Contiene lo siguiente, con valores sustituidos según la tabla a continuación:

     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 de agentes.
    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á. Dado que cada agente privado de Docker necesita aproximadamente 0,25 núcleos de CPU y 2 GB de memoria, debería 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 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 agentes privados:

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

    Consejo

    Corre kubectl -n default get pods --watchpara supervisar el estado del clúster, o kubectl exec -it private-agent-group-0 -- curl localhost:46912/axis/v1/cdk/internal/membersPara listar 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
    

Variables de ambiente

La imagen Docker del agente privado Jitterbit reconoce las siguientes variables de ambiente:

Categoría Variable Obligatorio Predeterminado Valores permitidos Descripción
Iniciar sesión HARMONY_ORIGIN https://na-east.jitterbit.com
https://emea-west.jitterbit.com
https://apac-southeast.jitterbit.com
La URL de inicio de sesión para su cuenta de Harmony.
HARMONY_USERNAME Cadena El nombre de usuario de tu cuenta de Harmony.
HARMONY_PASSWORD Cadena La contraseña de tu cuenta de Harmony.
HARMONY_ORG_NAME Cadena El nombre de su organización Harmony.
Identificación del Agente HARMONY_AGENT_GROUP_NAME Cadena El nombre del grupo de agentes y el nombre del ambiente, separados por un guion bajo.
HARMONY_AGENT_NAME Cadena El nombre del agente.
Observabilidad JITTERBIT_ENABLE_METRICS Datadog
Elasticsearch
Habilitar observabilidad del agente privado para la plataforma especificada.
DD_API_KEY
(si JITTERBIT_ENABLE_METRICS=Datadog)
Cadena Clave API de Datadog.
DD_SITE datadoghq Cadena URL del sitio Datadog.
DD_HOST_NAME Automático (desde el nombre de host del sistema) Cadena Nombre de host del agente Datadog.
ES_API_KEY
(si JITTERBIT_ENABLE_METRICS=Elasticsearch)
Cadena Clave API de Elasticsearch.
ES_URL
(si JITTERBIT_ENABLE_METRICS=Elasticsearch)
Cadena URL de Elasticsearch.
METRICS_AGENT_NAME Automático (desde auto-register información) Cadena Nombre del agente privado.
METRICS_AGENT_GROUP_NAME Automático (desde auto-register información) Cadena Nombre del grupo de agentes privados.
METRICS_ENVIRONMENT_NAME Automático (desde auto-register información) Cadena Nombre del ambiente.
SKIP_METRICS_CONFIG Cadena Si true, no configure automáticamente las métricas de Jitterbit. (Equivalente a jitterbit-config -k/--skip-metrics-configopción.)
ENABLE_JITTERBIT_METRICS Cadena Si true Habilitar métricas de Jitterbit. Se ignora si SKIP_METRICS_CONFIG es true.

Solucionar problemas

Estas secciones de la Página de solución de problemas puede ser útil para solucionar problemas con agentes privados que se ejecutan en Docker: