Ir para o conteúdo

Tutorial de Registro Automático do Agente Docker

Introdução

Este tutorial mostra como configurar dois (ou mais) Docker Agentes Privados 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 Docker Agente Privado 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, as credenciais e os agentes disponíveis necessários.

    Importante

    Se estiver usando agentes versão 10.83/11.21 ou posterior, ignore as etapas 2 e 3 ao usar um token de acesso de registro de Agente como um pré-requisito. 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 do 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 durante o registro.

  3. Gere um nome de usuário e 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. Lançar 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 Harmony Management Console.

Exercício bônus: Em vez de usar um register.json arquivo, configure e inicie 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
  • Um mínimo de 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 do 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 de Agente como um pré-requisito. Esta etapa deve ser concluída somente se você estiver usando credenciais Harmony no register.json arquivo.

Crie um usuário em sua organização Harmony que tenha apenas a permissão Agent Install:

  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 como 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 e-mail válido e atribua-o à papel Instalador de Agente:

    anexo

    Nota

    Esta deve ser uma conta de usuário dedicada com um endereço e-mail 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 e-mail do novo usuário que acabou de criar. Caso contrário, você precisará responder usando uma janela privada do navegador para evitar o uso de credenciais de login em cache.

  7. Cadastre este novo usuário (verifique seu e-mail para saber as etapas de ativação). Você precisará do nome de usuário e da senha criados 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á fazer login novamente no Harmony Portal usando suas credenciais de administrador.

3. Gere um Nome de Usuário e 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 de Agente como um pré-requisito. 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 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 eles serão diferentes cada vez que forem gerados, 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 do 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 na sua organização e anote seu ID:

  1. Vá para Management Console > Agentes > Grupos de Agente.

  2. Passe o mouse sobre o Grupo de Agentes que será associado ao novo agente registrado automaticamente e anote seu ID:

    anexo

5. Crie o register.json Arquivo

Crie o arquivo para cadastrar 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 o URL da nuvem, o token (ou nome de usuário e senha criptografados) e o ID do Grupo de Agentes apropriado 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, Médio Oriente, África) https://emea-west.jitterbit.com

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

    Importante

    Tokens de acesso ao registro do Agente exigem 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 <working directory>/conf contém o atualizado register.json arquivo.

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

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

    docker pull jitterbit/agent:latest
    
    4. Inicie um Docker Agente Privado 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 -ae 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 <working directory>/conf contém o atualizado register.json arquivo.

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

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

    docker pull jitterbit/agent:latest
    
  4. Inicie um segundo Docker Agente Privado, 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 para 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 baseado no agentNamePrefix, como auto_172.17.0.2_b2a546cc080e_59a260ca_2020-02-14 17:43:03.033.

Variáveis ambientais

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

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