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:
- 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:
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.
-
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 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.
-
Agregar un agente a su grupo de agentes y anote su nombre.
-
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óndeREGION
es uno dena-east
,emea-west
, oapac-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. 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 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.
-
En una terminal, ejecute lo siguiente:
jitterbit-utils
dominio para cifrar sus credenciales, reemplazandoUSERNAME
yPASSWORD
con tu 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 utilizarlo en el siguiente paso.
-
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óndeREGION
es uno dena-east
,emea-west
, oapac-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. 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 detener el drenaje 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 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.
-
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.
-
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óndeREGION
es uno dena-east
,emea-west
, oapac-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 enconf/jitterbit.conf
Este archivo se copia en el contenedor cuando se inicia, sobrescribiendo el archivo predeterminado. -
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 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 detener el drenaje 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 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.
-
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
Sugerencia
Puedes utilizar el mismo resultado de los ejemplos anteriores.
-
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
, oapac-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 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 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, okubectl 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. -
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: