Tutorial de registro automático del agente privado Docker Jitterbit
Introducción
Este tutorial le muestra cómo configurar dos (o más) agentes privados de Docker que se registrarán automáticamente en un grupo de agentes privados designado en su organización. Para ello, utilice un register.json
archivo.
Nota
Hay documentación adicional sobre el agente privado de Docker disponible en https://hub.docker.com/r/jitterbit/agent/.
Descripción general
Para completar este tutorial, complete cada paso en orden:
-
Requisitos previos: Asegúrate de tener el software, las credenciales y los agentes disponibles necesarios.
Importante
Si usa agentes versión 10.83/11.21 o posterior, omita los pasos 2 y 3 cuando use un token de acceso de registro de Agente como un prerrequisito recomendado. Los pasos 2 y 3 deben completarse solo si está utilizando credenciales de Harmony en el
register.json
archivo. -
Crear un usuario de instalación del agente: Si no utiliza un token de acceso de registro de Agente, cree un nombre de usuario y una contraseña que se compartirán entre los agentes y se utilizarán al registrarse.
-
Generar un nombre de usuario y contraseña cifrados: Si no utiliza un token de acceso de registro de Agente, genere versiones encriptadas del nombre de usuario y la contraseña.
-
Elija un grupo de agentes: Seleccione un grupo de agentes y obtenga su ID.
-
Crear el
register.json
Archivo: Crear, completar e instalar elregister.json
archivo. -
Iniciar el primer agente: Inicia el primer agente utilizando el registro automático que hayas configurado.
-
Inicia el segundo agente: Inicie un segundo agente utilizando el mismo registro automático que ha configurado.
-
Confirme dos agentes en ejecución: Verifique que ambos agentes se hayan iniciado mediante la Management Console de Jitterbit.
Ejercicio adicional: En lugar de utilizar un recurso compartido register.json
archivar, configurar e iniciar un agente utilizando variables de ambiente cuyos valores se pueden compartir.
1. Requisitos previos
Para completar este tutorial, necesitarás:
- Docker (1.12 o superior) en Windows, Linux o macOS
- Una organización Harmony e inicio de sesión con permiso Admin
- Un mínimo de dos agentes disponibles en su suscripción de Harmony
Si utiliza agentes de la versión 10.83/11.21 o posterior, recomendamos utilizar Tokens de acceso de registro de Agente sobre credenciales de usuario cifradas del Instalador del agente. Los tokens de acceso al Registro del Agente no vencen y se pueden administrar en la Management Console en cualquier momento.
2. Cree un usuario de instalación del agente
Importante
Si usa agentes versión 10.83/11.21 o posterior, omita este paso cuando use un token de acceso de registro de Agente como un prerrequisito recomendado. Este paso debe completarse solo si está utilizando credenciales de Harmony en el register.json
archivo.
Cree un usuario en su organización Harmony que solo tenga el permiso_Instalación de agente_:
-
Inicie sesión en el portal Harmony (https://login.jitterbit.com) como usuario con permiso Admin (credenciales de administrador).
-
Vaya a Management Console >Organizaciones.
-
Agregue un nuevo rol y nómbrelo Instalador del Agente:
-
Modifique los permisos de esta nueva función utilizando el menú desplegable junto a Lectura para seleccionar solo el permiso_Instalación del agente_:
-
Seleccione la pestaña Miembros, agregue un nuevo miembro usando una dirección de correo válida y asígnele el rol de Instalador de Agente:
Nota
Debe ser una cuenta de usuario dedicada con una dirección de correo válida. Se utilizará específicamente para registrar agentes automáticamente.
-
Cierre la sesión de la cuenta de usuario actual (la que tiene permiso_Admin_). Esto le permitirá responder al correo del nuevo usuario que acaba de crear. De lo contrario, deberá responder utilizando una ventana privada del navegador para evitar el uso de credenciales de inicio de sesión almacenadas en caché.
-
Registre este nuevo usuario (consulte su correo para conocer los pasos de activación). Necesitará el nombre de usuario y la contraseña que creó en el paso 3, Generar un nombre de usuario y una contraseña encriptados.
-
Una vez que el nuevo usuario se haya registrado correctamente, puede volver a iniciar sesión en el portal Harmony utilizando sus credenciales de administrador.
3. Generar un nombre de usuario y contraseña cifrados
Importante
Si usa agentes versión 10.83/11.21 o posterior, omita este paso cuando use un token de acceso de registro de Agente como un prerrequisito recomendado. Este paso debe completarse solo si está utilizando credenciales de Harmony en el register.json
archivo.
Genere un nombre de usuario y una contraseña cifrados para el usuario dedicado que acaba de crear para registrar agentes automáticamente:
-
Desde una línea de comandos en una terminal que ejecute Docker, cifrar el nombre de usuario (que se muestra a continuación como
first.last+agent-install@example.com
) y contraseña (que se muestra a continuación comosome_Passw0Rd1
) del miembro que acabas de crear:# This Docker command returns an encrypted username and password (example only, actual will be different) docker run --rm jitterbit/agent:latest jitterbit-utils -e 'first.last+agent-install@example.com' 'some_Passw0Rd1' $000jwdBLiBsJnx4hCNIob1yn3gK9kisBm6knxmLFxV.../WHp6X7pvBkxuROg== $00phLWHm04Zsx9Wmug1eiIVaJemGjjm91CAVtkHH0bG+Y=
-
Las credenciales cifradas se encuentran en las dos líneas que siguen al comando. Tenga en cuenta que serán diferentes cada vez que se generen, incluso con el mismo nombre de usuario y contraseña. El nombre de usuario va seguido de la contraseña:
- Nombre de usuario cifrado:
$000jwdBLiBsJnx4hCNIob1yn3gK9kisBm6knxmLFxV.../WHp6X7pvBkxuROg==
- Contraseña cifrada:
$00phLWHm04Zsx9Wmug1eiIVaJemGjjm91CAVtkHH0bG+Y=
- Nombre de usuario cifrado:
Precaución
Si escapa el nombre de usuario o la contraseña en el comando Docker, verifique que el valor devuelto por el comando de escape coincida correctamente. Esto puede ser complicado:
# Escaping special characters in 4pete'sSake!
echo "4pete'sSake\!"
4pete'sSake\!
echo '4pete'"'"'sSake!'
4pete'sSake!
4. Elija un grupo de agentes
Seleccione un grupo de agentes en su organización y anote su ID:
-
Vaya a Management Console > Agentes.
-
Anote el nombre y el ID del grupo de agentes.
5. Crea el register.json
archivo
Cree el archivo para registrar automáticamente el agente:
-
En su directorio de trabajo actual, cree una carpeta llamada
conf
. -
En ese directorio, crea y edita un archivo llamado
register.json
. -
Inserte la URL de la nube, el token (o nombre de usuario y contraseña cifrados) y el ID del grupo de agentes apropiados para su región de Harmony:
Región URL de la nube NA (América del Norte) https://na-east.jitterbit.com APAC (Asia-Pacífico) https://apac-southeast.jitterbit.com EMEA (Europa, Oriente Medio, África) https://emea-west.jitterbit.com Aquí hay un ejemplo de un
register.json
Archivo completado para su uso en la región NA:Importante
Tokens de acceso de registro de Agente requieren la versión 10.83/11.21 o posterior del agente.
register.json{ "cloudUrl": "https://na-east.jitterbit.com", "token": "jb_a1b23c45-d6ef-789a-b0cd-e12fabcd3e4f", "agentGroupId": "224281", "agentNamePrefix": "auto_%ip%_%host%_%guid%", "deregisterAgentOnDrainstop": "true", "retryCount": "10", "retryIntervalSeconds": "5" }
Importante
Si usa agentes de la versión 10.83/11.21 o posterior, recomendamos usar Tokens de acceso de registro de Agente sobre credenciales de usuario cifradas del Instalador del agente. Los tokens de acceso al Registro del Agente no vencen y se pueden administrar en la Management Console en cualquier momento.
register.json{ "cloudUrl": "https://na-east.jitterbit.com", "username": "$000MTF/XSfev/KjlB/M1Q5vFkPLBKU5.../PwoHRiSGGLlJ", "password": "$006WIdHtws7wrjgCNAoabUzu0f+HsyzAfAZtTpauvsHBE=", "agentGroupId": "224281", "agentNamePrefix": "auto_%ip%_%host%_%guid%", "deregisterAgentOnDrainstop": "true", "retryCount": "10", "retryIntervalSeconds": "5" }
6. Inicia el primer agente
Ejecutar el primer agente:
-
Asegúrese de
<working directory>/conf
contiene la actualizaciónregister.json
archivo. -
Vaya a su directorio de trabajo, el directorio principal del
conf
directorio. -
Use Docker para descargar el último agente Jitterbit:
4. Inicie un agente privado de Docker que utilice esedocker pull jitterbit/agent:latest
conf
directorio y elregister.json
archivo:docker run -it --rm -v "$(pwd)/conf:/conf" jitterbit/agent:latest # Command returns: ffdb4ed859472029cbf0b1ef0d4259db5a6...7290e200d36dbe5f75bfb59349
-
El nombre de Docker se mostrará cuando ejecute el comando
docker ps -a
, y el ID del contenedor coincidirá con el valor devuelto por elrun
Comando:docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES ffdb4ed85947 jitterbit/agent:latest "/entrypoint.sh /age…" 23 seconds ago Up 22 seconds bold_bhabha
Nota
Para detener o ejecutar el agente en modo de segundo plano, utilice estos comandos:
-
Para detener el agente, utilice
Control+C
odocker stop <docker-name>
(Deberá anotar el ID del contenedor de la instancia de Docker). -
Para ejecutar el agente en modo de fondo, utilice
-d
Al iniciar el agente:docker run -d --rm -v "$(pwd)/conf:/conf" jitterbit/agent:latest # Command returns: ffdb4ed859472029cbf0b1ef0d4259db5a6...7290e200d36dbe5f75bfb59349
7. Inicia el segundo agente
Ejecutar el segundo agente:
-
Asegúrate de
<working directory>/conf
contiene la actualizaciónregister.json
archivo. -
Vaya a su directorio de trabajo, el directorio principal del
conf
directorio. -
Use Docker para descargar el último agente Jitterbit:
docker pull jitterbit/agent:latest
-
Inicie un segundo agente privado de Docker, sustituyendo un nombre apropiado en este comando por
<dockername>
:docker run --name <dockername> -d --rm -v "$(pwd)/ conf:/conf " jitterbit/agent:latest
Consejo
Esta vez, le dimos a la instancia de Docker un
<dockername>
para que puedas dejar de usarlodocker stop <dockername>
.
8. Confirme dos agentes en ejecución
Confirme que tanto el primer como el segundo agente se estén ejecutando:
- Regrese a Management Console > Agentes > Grupos de Agente para confirmar sus agentes en ejecución.
- Debería ver dos agentes ejecutándose, cada uno identificado por un nombre basado en el
agentNamePrefix
, comoauto_172.17.0.2_b2a546cc080e_59a260ca_2020-02-14 17:43:03.033
.
Variables de ambiente
Si se utilizan credenciales de usuario del instalador del agente cifrado, también puedes lanzar un contenedor usando variables de ambiente en lugar de register.json
archivo.
Prueba usando DOCKER_AGENT_NAME
, AUTO_REGISTER
, y AUTO_REGISTER__X_
variables de ambiente:
DOCKER_AGENT_NAME=agent1
docker run -it --rm \
--name=${DOCKER_AGENT_NAME} \
-e AUTO_REGISTER="true" \
-e HARMONY_ORIGIN="https://na-east.jitterbit.com" \
-e AUTO_REGISTER_ENCRYPTED_USERNAME="<encrypted username>" \
-e AUTO_REGISTER_ENCRYPTED_PASSWORD="<encrypted password>" \
-e AUTO_REGISTER_AGENT_GROUP_ID="<agent group id>" \
-e AUTO_REGISTER_AGENT_NAME_PREFIX="auto_%ip%_%host%_%guid%" \
-e AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP="true" \
jitterbit/agent:latest