Saltar al contenido

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:

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

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

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

  4. Elija un Grupo de Agentes: Seleccione un Grupo de Agentes y obtenga su ID.

  5. Crear el register.json Archivo: Cree, complete e instale el register.json archivo.

  6. Inicie el primer Agente: Inicie el primer agente utilizando el registro automático que haya configurado.

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

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

  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 una nueva rol y asígnele el nombre Instalador de Agente:

    adjunto

  4. Modifique los permisos de esta nueva función utilizando el menú desplegable junto a Leer para seleccionar solo el permiso Agent Install:

    adjunto

  5. Seleccione la pestaña Miembros, agregue un nuevo miembro usando una dirección de correo válida y asígnele la rol Agente instalador:

    adjunto

    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.

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

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

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

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

Elija un Grupo de Agentes en su organización y anote su ID:

  1. Vaya a Management Console > Agentes > Grupos de Agente.

  2. Pase el cursor sobre el Grupo de Agentes que se asociará con el nuevo agente que se registra automáticamente y anote su ID:

    adjunto

5. Crea el register.json Archivo

Cree el archivo para registrar automáticamente al agente:

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

  2. En ese directorio, cree y edite 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 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:

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

  2. Vaya a su directorio de trabajo, el padre al conf directorio.

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

    docker pull jitterbit/agent:latest
    
    4. Inicie un Agente Privado de Docker que lo utilice 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 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 o docker 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.

  1. Vaya a su directorio de trabajo, el padre al conf directorio.

  2. Utilice Docker para descargar el último agente Jitterbit:

    docker pull jitterbit/agent:latest
    
  3. 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 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 > Agents > Agente Groups para confirmar sus agentes en ejecución.
  2. Debería ver dos agentes ejecutándose, cada uno identificado con 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 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