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. 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 prerrequisito recomendado. Los pasos 2 y 3 solo deben completarse si utiliza 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 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: 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: 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ás:
- 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 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 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_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 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_Instalación de agente_:
-
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 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 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 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¶
Elija 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 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, 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 del 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 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. 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 > 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 se utilizan credenciales de usuario del instalador del agente encriptado, 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