Ir para o conteúdo

Tutorial de registro automático do agente privado Docker Jitterbit

Introdução

Este tutorial mostra como configurar dois (ou mais) agentes privados do Docker que serão registrados automaticamente em um grupo de agentes privados designado em sua organização. Você faz isso usando um register.json arquivo.

Nota

Documentação adicional do agente privado do Docker está disponível em https://hub.docker.com/r/jitterbit/agent/.

Visão geral

Para concluir este tutorial, conclua cada etapa na ordem:

  1. Pré-requisitos: Certifique-se de ter o software necessário, credenciais e agentes disponíveis.

    Importante

    Se estiver usando agentes versão 10.83 / 11.21 ou posterior, pule as etapas 2 e 3 ao usar um token de acesso de registro do Agente como um [pré-requisito] recomendado#prerequisites). As etapas 2 e 3 devem ser concluídas somente se você estiver usando credenciais Harmony no register.json arquivo.

  2. Criar um usuário instalador de agente: Se não estiver usando um token de acesso de registro de Agente, crie um nome de usuário e uma senha que serão compartilhados entre os agentes e usados no registro.

  3. Gere um nome de usuário e uma senha criptografados: Se não estiver usando um token de acesso de registro de Agente, gere versões criptografadas do nome de usuário e da senha.

  4. Escolha um grupo de agentes: Selecione um grupo de agentes e obtenha seu ID.

  5. Crie o register.json Arquivo: Crie, conclua e instale o register.json arquivo.

  6. Lançar o primeiro agente: Inicie o primeiro agente usando o registro automático que você configurou.

  7. Inicie o segundo agente: Inicie um segundo agente usando o mesmo registro automático que você configurou.

  8. Confirme dois agentes em execução: Verifique se ambos os agentes foram iniciados usando o Jitterbit Management Console.

Exercício bônus: Em vez de usar um aplicativo compartilhado register.json arquivar, configurar e iniciar um agente usando variáveis de ambiente cujos valores podem ser compartilhados.

1. Pré-requisitos

Para concluir este tutorial, você precisará de:

  • Docker (1.12 ou superior) no Windows, Linux ou macOS
  • Uma organização Harmony e login com permissão Admin
  • No mínimo dois agentes disponíveis na sua assinatura Harmony

Se estiver usando agentes versão 10.83 / 11.21 ou posterior, recomendamos usar Tokens de acesso de registro de Agente sobre credenciais de usuário criptografadas do Agent Installer. Os tokens de acesso do registro do Agente não expiram e podem ser gerenciados no Management Console a qualquer momento.

2. Crie um usuário instalador de agente

Importante

Se estiver usando agentes versão 10.83 / 11.21 ou posterior, pule esta etapa ao usar um token de acesso de registro do Agente como um [pré-requisito] recomendado#prerequisites). Esta etapa deve ser concluída somente se você estiver usando credenciais Harmony no register.json arquivo.

Crie um usuário na sua organização Harmony que tenha apenas a permissão Instalação do agente:

  1. Faça login no portal Harmony (https://login.jitterbit.com) como um usuário com permissão Admin (credenciais de administrador).

  2. Vá para Management Console > Organizações.

  3. Adicione uma nova papel e nomeie-a Instalador do Agente:

    anexo

  4. Modifique as permissões desta nova função usando o menu suspenso ao lado de Ler para selecionar apenas a permissão Instalação do agente:

    anexo

  5. Selecione a aba Membros, adicione um novo membro usando um endereço de email válido e atribua a ele a papel Instalador de Agente:

    anexo

    Nota

    Esta deve ser uma conta de usuário dedicada com um endereço de email válido. Isso será usado especificamente para registrar agentes automaticamente.

  6. Saia da conta de usuário atual (aquela com permissão Admin). Isso permite que você responda ao email do novo usuário que você acabou de criar. Caso contrário, você precisará responder usando uma janela privada do navegador para evitar usar quaisquer credenciais de login em cache.

  7. Registre este novo usuário (verifique seu email para as etapas de ativação). Você precisará do nome de usuário e senha que criou na etapa 3, Gerar um nome de usuário e senha criptografados.

  8. Depois que o novo usuário for registrado com sucesso, você poderá efetuar login novamente no portal Harmony usando suas credenciais de administrador.

3. Gere um nome de usuário e uma senha criptografados

Importante

Se estiver usando agentes versão 10.83 / 11.21 ou posterior, pule esta etapa ao usar um token de acesso de registro do Agente como um [pré-requisito] recomendado#prerequisites). Esta etapa deve ser concluída somente se você estiver usando credenciais Harmony no register.json arquivo.

Gere um nome de usuário e uma senha criptografados para o usuário dedicado que você acabou de criar para registrar agentes automaticamente:

  1. Em uma linha de comando em um terminal executando o Docker, criptografar o nome de usuário (mostrado abaixo como first.last+agent-install@example.com) e senha (mostrada abaixo como some_Passw0Rd1) do membro que você acabou de criar:

    # 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. As credenciais criptografadas estão nas duas linhas após o comando. Observe que elas serão diferentes cada vez que forem geradas, mesmo com o mesmo nome de usuário e senha. O nome de usuário é seguido pela senha:

    • Nome de usuário criptografado: $000jwdBLiBsJnx4hCNIob1yn3gK9kisBm6knxmLFxV.../WHp6X7pvBkxuROg==
    • Senha criptografada: $00phLWHm04Zsx9Wmug1eiIVaJemGjjm91CAVtkHH0bG+Y=

Cuidado

Se você escapar o nome de usuário ou senha no comando Docker, verifique se o valor retornado pelo comando escape corresponde corretamente. Isso pode ser complicado:

# Escaping special characters in 4pete'sSake!

echo "4pete'sSake\!"
4pete'sSake\!

echo '4pete'"'"'sSake!'
4pete'sSake!

4. Escolha um grupo de agentes

Escolha um grupo de agentes em sua organização e anote seu ID:

  1. Vá para Management Console > Agentes.

  2. Anote o nome e o ID do grupo do agente.

5. Crie o register.json arquivo

Crie o arquivo para registrar automaticamente o agente:

  1. No seu diretório de trabalho atual, crie uma pasta chamada conf.

  2. Nesse diretório, crie e edite um arquivo chamado register.json.

  3. Insira a URL da nuvem, o token (ou nome de usuário e senha criptografados) e o ID do grupo de agentes apropriados para sua região Harmony:

    Região URL da nuvem
    NA (América do Norte) https://na-east.jitterbit.com
    APAC (Ásia-Pacífico) https://apac-southeast.jitterbit.com
    EMEA (Europa, Oriente Médio, África) https://emea-west.jitterbit.com

    Aqui está um exemplo de um register.json arquivo concluído para uso na região NA:

    Importante

    Tokens de acesso de registro de Agente requer agentes versão 10.83 / 11.21 ou 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

    Se estiver usando agentes versão 10.83 / 11.21 ou posterior, recomendamos usar Tokens de acesso de registro de Agente sobre credenciais de usuário criptografadas do Agent Installer. Os tokens de acesso do registro do Agente não expiram e podem ser gerenciados no Management Console a qualquer 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 o primeiro agente

Inicie o primeiro agente:

  1. Certifique-se de <working directory>/confcontém o atualizado register.json arquivo.

  2. Vá para o seu diretório de trabalho, o pai do conf diretório.

  3. Use o Docker para baixar o agente Jitterbit mais recente:

    docker pull jitterbit/agent:latest
    
    4. Inicie um agente privado Docker que use isso conf diretório e o register.json arquivo:

    docker run -it --rm -v "$(pwd)/conf:/conf" jitterbit/agent:latest
    # Command returns:
    ffdb4ed859472029cbf0b1ef0d4259db5a6...7290e200d36dbe5f75bfb59349
    
  4. O nome do Docker será exibido quando você executar o comando docker ps -a, e o ID do contêiner corresponderá ao valor retornado pelo 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 parar ou executar o agente em modo de segundo plano, use estes comandos:

  • Para parar o agente, use Control+C ou docker stop <docker-name>(Você precisará anotar o ID do contêiner da instância do Docker).

  • Para executar o agente em modo de segundo plano, use -d ao iniciar o agente:

    docker run -d --rm -v "$(pwd)/conf:/conf" jitterbit/agent:latest
    # Command returns:
    ffdb4ed859472029cbf0b1ef0d4259db5a6...7290e200d36dbe5f75bfb59349
    

7. Inicie o segundo agente

Inicie o segundo agente:

  1. Certifique-se de <working directory>/confcontém o atualizado register.json arquivo.

  2. Vá para o seu diretório de trabalho, o pai do conf diretório.

  3. Use o Docker para baixar o agente Jitterbit mais recente:

    docker pull jitterbit/agent:latest
    
  4. Inicie um segundo agente privado do Docker, substituindo um nome apropriado neste comando por <dockername>:

    docker run --name <dockername> -d --rm -v "$(pwd)/ conf:/conf " jitterbit/agent:latest
    

    Dica

    Desta vez, demos à instância do Docker uma <dockername> para que você possa parar de usar docker stop <dockername>.

8. Confirme dois agentes em execução

Confirme se o primeiro e o segundo agente estão em execução:

  1. Retorne ao Management Console > Agentes > Grupos de Agente para confirmar seus agentes em execução.
  2. Você deverá ver dois agentes em execução, cada um identificado por um nome com base no agentNamePrefix, como auto_172.17.0.2_b2a546cc080e_59a260ca_2020-02-14 17:43:03.033.

Variáveis de ambiente

Se estiver usando credenciais de usuário do instalador do agente criptografado, você também pode iniciar um contêiner usando variáveis de ambiente em vez de register.json arquivo.

Teste usando DOCKER_AGENT_NAME, AUTO_REGISTER, e AUTO_REGISTER__X_ variáveis 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