Tutorial de Registro Automático del Agente Docker¶
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. Esto lo haces usando un register.json
archivo.
Nota
La documentación adicional de Docker Agente Privado está disponible en https://hub.docker.com/r/jitterbit/agent/.
Descripción General¶
Para completar este tutorial, complete cada paso en orden:
-
Requisitos previos: Asegúrese 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 prerrequisito recomendado. Los pasos 2 y 3 solo deben completarse si utiliza credenciales de Harmony en el
register.json
archivo. -
Crear un usuario del instalador 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 cifradas 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: Cree, complete e instale elregister.json
archivo. -
Inicie el primer Agente: Inicie el primer agente utilizando el registro automático que haya configurado.
-
Inicie el segundo Agente: Inicie un segundo agente utilizando el mismo registro automático que ha configurado.
-
Confirmar dos agentes en ejecución: Compruebe que ambos agentes se hayan iniciado mediante Harmony Management Console.
Ejercicio adicional: En lugar de utilizar un ejercicio 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á:
- Docker (1.12 o superior) en Windows, Linux o macOS
- Una organización de Harmony e iniciar sesión con permiso de Admin
- Un mínimo de dos agentes disponibles en su suscripción de Harmony
Si utiliza agentes versión 10.83/11.21 o posterior, recomendamos utilizar tokens de acceso de registro de Agente sobre las credenciales de usuario cifradas de Agent Installer. Los tokens de acceso de registro de Agente no caducan y se pueden administrar en la Management Console en cualquier momento.
2. Cree un Usuario del Instalador 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 prerrequisito recomendado. Este paso debe completarse sólo si está utilizando credenciales de Harmony en el register.json
archivo.
Cree un usuario en su organización de Harmony que solo tenga el permiso Agent Install:
-
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 una nueva rol y asígnele el nombre Instalador de Agente:
-
Modifique los permisos de esta nueva función utilizando el menú desplegable junto a Leer para seleccionar solo el permiso Agent Install:
-
Seleccione la pestaña Miembros, agregue un nuevo miembro usando una dirección de correo válida y asígnele la rol Agente instalador:
Nota
Debe ser una cuenta de usuario dedicada con una dirección de correo válida. Esto se utilizará específicamente para registrar agentes automáticamente.
-
Cierre sesión en la cuenta de usuario actual (la que tiene permiso de Administrador). Esto le permite 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 cifrados.
-
Una vez que el nuevo usuario se haya registrado correctamente, puede volver a iniciar sesión en Harmony Portal utilizando sus credenciales de administrador.
3. Genere un Nombre de Usuario y una 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 prerrequisito recomendado. Este paso debe completarse sólo 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 comando en una terminal que ejecuta 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 acaba 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¶
Elija un Grupo de Agentes en su organización y anote su ID:
-
Vaya a Management Console > Agentes > Grupos de Agente.
-
Pase el cursor sobre el Grupo de Agentes que se asociará con el nuevo agente que se registra automáticamente y anote su ID:
5. Crea el register.json
Archivo¶
Cree el archivo para registrar automáticamente al agente:
-
En su directorio de trabajo actual, cree una carpeta llamada
conf
. -
En ese directorio, cree y edite 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 apropiado 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, Medio Oriente, África) https://emea-west.jitterbit.com Aquí hay un ejemplo de
register.json
archivo completado para su uso en la región NA:Importante
tokens de acceso de registro de Agente requieren agentes versión 10.83/11.21 o posterior.
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 versión 10.83/11.21 o posterior, recomendamos usar tokens de acceso de registro de Agente sobre las credenciales de usuario cifradas de Agent Installer. Los tokens de acceso de registro de Agente no caducan 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. Inicie el Primer Agente¶
Inicie el primer agente:
-
Asegúrate
<working directory>/conf
contiene la actualizaciónregister.json
archivo. -
Vaya a su directorio de trabajo, el padre al
conf
directorio. -
Utilice Docker para descargar el último agente Jitterbit:
4. Inicie un Agente Privado de Docker que lo utilicedocker 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
dominio: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 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, use
-d
al iniciar el agente:docker run -d --rm -v "$(pwd)/conf:/conf" jitterbit/agent:latest # Command returns: ffdb4ed859472029cbf0b1ef0d4259db5a6...7290e200d36dbe5f75bfb59349
7. Inicie el Segundo Agente¶
Inicie el segundo agente:
1.Asegúrate <working directory>/conf
contiene la actualización register.json
archivo.
-
Vaya a su directorio de trabajo, el padre al
conf
directorio. -
Utilice Docker para descargar el último agente Jitterbit:
docker pull jitterbit/agent:latest
-
Inicie un segundo Docker Agente Privado, 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 > Agents > Agente Groups para confirmar sus agentes en ejecución.
- Debería ver dos agentes ejecutándose, cada uno identificado con un nombre basado en el
agentNamePrefix
, comoauto_172.17.0.2_b2a546cc080e_59a260ca_2020-02-14 17:43:03.033
.
Variables de Ambiente¶
Si utiliza credenciales de usuario cifradas Agent Installer, también puede iniciar un contenedor utilizando 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