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:
- Inicio rápido
- Registro manual con variables de ambiente
- Registro automático con variables de ambiente
-
Registro automático con
register.json
archivo los siguientes ejemplos muestran cómo ejecutar varios agentes: - Múltiples agentes con Helm y Kubernetes
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.
-
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.
-
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"
-
Para comprobar el estado de su agente, actualice la página Management Console > Agentes.
-
En la terminal, presione
Control+C
para detener al agente, o utilizar eldocker container stop
comando. -
(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.
-
Añadir un agente a su grupo de agentes y anote su nombre.
-
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óndeREGION
es uno dena-east
,emea-west
, oapac-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. 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
-
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
-
Para comprobar el estado de su agente, actualice la página Management Console > Agentes.
-
En la terminal, presione
Control+C
para detener al agente, o utilizar eldocker container stop
comando. -
(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.
-
En una terminal, ejecute lo siguiente
jitterbit-utils
dominio para cifrar sus credenciales, reemplazandoUSERNAME
yPASSWORD
con su nombre de usuario y contraseña de Harmony: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=
-
Copie el resultado para usarlo en el siguiente paso.
-
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óndeREGION
es uno dena-east
,emea-west
, oapac-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. 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=
-
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
-
Para comprobar el estado de su agente, actualice la página Management Console > Agentes.
-
Para detener el agente, utilice la Management Console para drain stop el agente.
-
Para detener el contenedor, busque el ID del contenedor con
docker ps
, luego usadocker container stop CONTAINER_ID
. -
Si
AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP
está configurado paratrue
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.
-
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.
-
Crea un directorio y un archivo.
conf/register.json
Contiene 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óndeREGION
es uno dena-east
,emea-west
, oapac-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.conf
Archivo. Sin persistencia, cualquier cambio que realice en este archivo dentro del contenedor se perderá al detenerse. Para usar su propia configuración, introdúzcala enconf/jitterbit.conf
Este archivo se copia al contenedor al iniciarse, sobrescribiendo el archivo predeterminado. -
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 uncredentials.txt
archivo y unregister.json
archivo. -
Para comprobar el estado de su agente, actualice la página Management Console > Agentes.
-
Para detener el agente, utilice la Management Console para drain stop el agente.
-
Para detener el contenedor, busque el ID del contenedor con
docker ps
, luego usadocker stop CONTAINER_ID
. -
Si
deregisterAgentOnDrainstop
está configurado paratrue
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.
-
Cree un archivo de variables de ambiente como se muestra arriba.
-
Crea un archivo
docker-compose.yml
que contiene lo siguiente: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
: El nombre del archivo de variable de ambiente creado en el paso 1.
-
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, odocker stats
para monitorear el uso de recursos de cada agente. -
Para comprobar el estado de su agente, actualice la página Management Console > Agentes.
-
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.
-
Iniciar un clúster de Kubernetes.
Consejo
En Docker Desktop, seleccione Configuración > Kubernetes > Habilitar Kubernetes.
-
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.
-
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
, oapac-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 Jitterbitvalue.yml
archivo. -
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
-
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 --watch
para supervisar el estado del clúster, okubectl exec -it private-agent-group-0 -- curl localhost:46912/axis/v1/cdk/internal/members
Para listar los miembros del clúster del servicio de escucha. -
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-config opció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: