Saltar al contenido

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:

  1. 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.

  2. 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.

  3. 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.

  4. Elija un grupo de agentes: Seleccione un grupo de agentes y obtenga su ID.

  5. Crear el register.json Archivo: Crear, completar e instalar el register.json archivo.

  6. Iniciar el primer agente: Inicia el primer agente utilizando el registro automático que hayas configurado.

  7. Inicia el segundo agente: Inicie un segundo agente utilizando el mismo registro automático que ha configurado.

  8. 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_:

  1. Inicie sesión en el portal Harmony (https://login.jitterbit.com) como usuario con permiso Admin (credenciales de administrador).

  2. Vaya a Management Console >Organizaciones.

  3. Agregue un nuevo rol y nómbrelo Instalador del Agente:

    archivo adjunto

  4. Modifique los permisos de esta nueva función utilizando el menú desplegable junto a Lectura para seleccionar solo el permiso_Instalación del agente_:

    archivo adjunto

  5. 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:

    archivo adjunto

    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.

  6. 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é.

  7. 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.

  8. 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:

  1. 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 como some_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=
    
  2. 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=

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:

  1. Vaya a Management Console > Agentes.

  2. 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:

  1. En su directorio de trabajo actual, cree una carpeta llamada conf.

  2. En ese directorio, crea y edita un archivo llamado register.json.

  3. 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:

  1. Asegúrese de <working directory>/confcontiene la actualización register.json archivo.

  2. Vaya a su directorio de trabajo, el directorio principal del conf directorio.

  3. Use Docker para descargar el último agente Jitterbit:

    docker pull jitterbit/agent:latest
    
    4. Inicie un agente privado de Docker que utilice ese conf directorio y el register.json archivo:

    docker run -it --rm -v "$(pwd)/conf:/conf" jitterbit/agent:latest
    # Command returns:
    ffdb4ed859472029cbf0b1ef0d4259db5a6...7290e200d36dbe5f75bfb59349
    
  4. El nombre de Docker se mostrará cuando ejecute el comando docker ps -a, y el ID del contenedor coincidirá con el valor devuelto por el run 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 o docker 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:

  1. Asegúrate de <working directory>/confcontiene la actualización register.json archivo.

  2. Vaya a su directorio de trabajo, el directorio principal del conf directorio.

  3. Use Docker para descargar el último agente Jitterbit:

    docker pull jitterbit/agent:latest
    
  4. 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 usarlo docker stop <dockername>.

8. Confirme dos agentes en ejecución

Confirme que tanto el primer como el segundo agente se estén ejecutando:

  1. Regrese a Management Console > Agentes > Grupos de Agente para confirmar sus agentes en ejecución.
  2. Debería ver dos agentes ejecutándose, cada uno identificado por un nombre basado en el agentNamePrefix, como auto_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