Ir para o conteúdo

Agentes privados Jitterbit no Docker

Introdução

Os exemplos nesta página mostram como executar um ou mais agentes privados em contêineres. usando a imagem do hub Docker do Jitterbit. A Solução de problemas fornece uma lista de problemas comuns e suas soluções.

Nota

A imagem do Docker não é atualizada ao mesmo tempo que os pacotes de agentes do Windows ou Linux. Consulte a página de tags da imagem para ver quais versões estão disponíveis.

Os exemplos a seguir mostram como executar um único agente:

Os exemplos a seguir mostram como executar vários agentes:

Importante

Use os comandos desta página para testes ou como base para desenvolvimento posterior e consulte a documentação do Docker para obter informações sobre como torná-los adequados para sistemas de produção.

Pré-requisitos

Você precisa ter o seguinte:

  • Docker
  • Seu nome de usuário e senha da conta Harmony.
  • Nome da sua organização Harmony.

Você deve ter o seguinte para executar os exemplos de vários agentes:

Início rápido

Este exemplo usa o jitterbit-configcomando para solicitar as informações de registro do agente, o jitterbitcomando para iniciar o agente e tail -F para esperar e mostrar o arquivo de log do agente.

  1. Selecione Management Console > Agentes no menu do Portal Harmony e, em seguida, adicionar um grupo de agentes privados ou anote o nome e o ID de um existente.

  2. Em um terminal, execute este comando e responda às instruções:

    docker run -it jitterbit/agent sh -c "jitterbit-config; jitterbit start; tail -F log/jitterbit-agent.log"
    
  3. Para verificar o status do seu agente, atualize a página Management Console > Agentes.

  4. No terminal, pressione Control+C para parar o agente, ou usar o docker container stop comando.

  5. (Opcional) Excluir o agente usando o Management Console. (Os agentes iniciados dessa maneira não são removidos automaticamente quando parados.)

Registro manual com variáveis de ambiente

No Exemplo de início rápido, você deve inserir as informações de registro do agente quando solicitado. Neste exemplo, essas informações são fornecidas usando variáveis de ambiente.

  1. Adicionar um agente para o seu grupo de agentes e anote o nome dele.

  2. Crie um arquivo contendo o seguinte, com os valores definidos de acordo com a tabela abaixo:

    HARMONY_ORIGIN=
    HARMONY_USERNAME=
    HARMONY_PASSWORD=
    HARMONY_ORG_NAME=
    HARMONY_AGENT_GROUP_NAME=
    HARMONY_AGENT_NAME=
    
    Variável Descrição do Valor
    HARMONY_ORIGIN A URL de login para sua conta Harmony, https://REGION.jitterbit.com, onde REGION é um dos na-east, emea-west, ou apac-southeast.
    HARMONY_USERNAME Seu nome de usuário da conta Harmony.
    HARMONY_PASSWORD A senha da sua conta Harmony.
    HARMONY_ORG_NAME Nome da sua organização Harmony.
    HARMONY_AGENT_GROUP_NAME O nome do grupo de agentes e o nome do ambiente, separados por um sublinhado.
    HARMONY_AGENT_NAME O nome do agente.
    Example
    HARMONY_ORIGIN=https://na-east.jitterbit.com
    HARMONY_USERNAME=example@jbexample.com
    HARMONY_PASSWORD=P@55w0rd
    HARMONY_ORG_NAME=Example Org
    HARMONY_AGENT_GROUP_NAME=Example Agent Group_Example Env
    HARMONY_AGENT_NAME=Example Agent 1
    
  3. Em um terminal, execute este comando para iniciar o agente, substituindo FILE com o nome do arquivo criado na etapa 2:

    docker run --env-file FILE jitterbit/agent
    
  4. Para verificar o status do seu agente, atualize a página Management Console > Agentes.

  5. No terminal, pressione Control+C para parar o agente, ou usar o docker container stop comando.

  6. (Opcional) Excluir o agente usando o Management Console. (Os agentes iniciados dessa maneira não são removidos automaticamente quando parados.)

Registro automático com variáveis de ambiente

Existem duas desvantagens com o registro manual exemplo: você deve adicionar manualmente um agente no Management Console, e suas credenciais do Harmony ficarão visíveis para qualquer pessoa com acesso ao sistema.

Este exemplo evita ambos. Ele usa registro automático para adicionar automaticamente um agente ao Harmony. Suas credenciais do Harmony são criptografadas e passadas, juntamente com os outros valores de registro necessários, para o contêiner usando um conjunto diferente de variáveis de ambiente.

  1. Em um terminal, execute o seguinte jitterbit-utilscomando para criptografar suas credenciais, substituindo USERNAME e PASSWORD com seu nome de usuário e senha do Harmony:

    docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
    
    Example command
    docker run jitterbit/agent jitterbit-utils -e example@jbexample.com P@55w0rd
    
    Example output
    $00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C
    $003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=
    
  2. Copie a saída para uso na próxima etapa.

  3. Crie um arquivo contendo o seguinte, com os valores substituídos de acordo com a tabela abaixo:

    HARMONY_ORIGIN=
    AUTO_REGISTER=true
    AUTO_REGISTER_AGENT_GROUP_ID=
    AUTO_REGISTER_AGENT_NAME_PREFIX=auto
    AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP=false
    AUTO_REGISTER_ENCRYPTED_USERNAME=
    AUTO_REGISTER_ENCRYPTED_PASSWORD=
    
    Variável Descrição do valor
    HARMONY_ORIGIN A URL de login para sua conta Harmony, https://REGION.jitterbit.com, onde REGION é um dos na-east, emea-west, ou apac-southeast.
    AUTO_REGISTER_AGENT_GROUP_ID O número de identificação do grupo de agentes.
    AUTO_REGISTER_ENCRYPTED_USERNAME A primeira linha de saída da etapa 1.
    AUTO_REGISTER_ENCRYPTED_PASSWORD A segunda linha de saída da etapa 1.
    Example
    HARMONY_ORIGIN=https://na-east.jitterbit.com
    AUTO_REGISTER=true
    AUTO_REGISTER_AGENT_GROUP_ID=12345
    AUTO_REGISTER_AGENT_NAME_PREFIX=auto
    AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP=false
    AUTO_REGISTER_ENCRYPTED_USERNAME=$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C
    AUTO_REGISTER_ENCRYPTED_PASSWORD=$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=
    
  4. Execute este comando para iniciar o agente privado em contêiner, onde FILE é o nome do arquivo criado na etapa 2:

    docker run --detach --env-file FILE jitterbit/agent
    
  5. Para verificar o status do seu agente, atualize a página Management Console > Agentes.

  6. Para parar o agente, use o Management Console para parar drenagem o agente.

  7. Para parar o contêiner, encontre o ID do contêiner com docker ps, então use docker container stop CONTAINER_ID.

  8. Se AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP está definido para true, o agente é removido automaticamente quando parado. Caso contrário, delete o agente no Management Console.

Registro automático com register.json arquivo

Este exemplo mostra uma alternativa ao registro com variáveis de ambiente : usar um register.json arquivo.

  1. Execute o arquivo jitterbit-utilscomando para criptografar seu nome de usuário e senha do Harmony:

    docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
    

    Dica

    Você pode usar a mesma saída de nome de usuário e senha criptografados do exemplo anterior.

  2. Crie um diretório e um arquivo conf/register.json contendo o seguinte, com valores definidos de acordo com a tabela abaixo:

    conf/register.json
    {
        "cloudUrl": "https://REGION.jitterbit.com",
        "agentGroupId": GROUP_ID,
        "username": "ENCRYPTED_USERNAME",
        "password": "ENCRYPTED_PASSWORD",
        "agentNamePrefix": "test",
        "deregisterAgentOnDrainstop": false,
        "retryCount": 10,
        "retryIntervalSeconds": 5
    }
    
    Parâmetro Descrição do valor
    cloudUrl A URL de login para sua conta Harmony, https://REGION.jitterbit.com, onde REGION é um dos na-east, emea-west, ou apac-southeast.
    agentGroupId O número de identificação do grupo de agentes.
    username O nome de usuário criptografado (primeira linha de saída da etapa 1).
    password A senha criptografada (segunda linha da saída da etapa 1).
    Example conf/register.json
    {
        "cloudUrl": "https://na-east.jitterbit.com",
        "agentGroupId": 12345,
        "username": "$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C",
        "password": "$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=",
        "agentNamePrefix": "test",
        "deregisterAgentOnDrainstop": false,
        "retryCount": 10,
        "retryIntervalSeconds": 5
    }
    

    Dica

    Um agente iniciado dessa forma usa as configurações padrão da imagem do Docker jitterbit.conf arquivo. Sem persistência, quaisquer alterações feitas neste arquivo dentro do contêiner serão perdidas quando o contêiner parar. Para usar suas próprias configurações, coloque-as em conf/jitterbit.conf Este arquivo é copiado para o contêiner quando ele é iniciado, substituindo o arquivo padrão.

  3. Execute este comando para iniciar o agente privado em contêiner:

    docker run --detach --name jitterbit-agent --rm --volume ./conf:/conf jitterbit/agent
    

    Importante

    O agente privado falha ao iniciar se o conf diretório contém um credentials.txt arquivo e um register.json arquivo.

  4. Para verificar o status do seu agente, atualize a página Management Console > Agentes.

  5. Para parar o agente, use o Management Console para parar drenagem o agente.

  6. Para parar o contêiner, encontre o ID do contêiner com docker ps, então use docker stop CONTAINER_ID.

  7. Se deregisterAgentOnDrainstop está definido para true, o agente é removido automaticamente quando parado. Caso contrário, delete o agente no Management Console.

Vários agentes comdocker compose

Neste exemplo, três agentes privados com configurações idênticas são executados em um grupo de agentes.

  1. Crie um arquivo de variáveis de ambiente conforme mostrado acima.

  2. Crie um arquivo docker-compose.yml contendo o seguinte:

    docker-compose.yml
    services:
        agent1:
            env_file: FILE
            image: jitterbit/agent
            container_name: jitterbit-agent1
        agent2:
            env_file: FILE
            image: jitterbit/agent
            container_name: jitterbit-agent2
        agent3:
            env_file: FILE
            image: jitterbit/agent
            container_name: jitterbit-agent3
    
    • FILE: O nome do arquivo de variável de ambiente criado na etapa 1.
  3. Execute este comando para iniciar o grupo de agentes privados:

    docker compose up -d
    

    Dica

    Correr docker compose logs -fpara observar os arquivos de log de todos os agentes, ou docker stats para monitorar o uso de recursos de cada agente.

  4. Para verificar o status do seu agente, atualize a página Management Console > Agentes.

  5. Execute este comando para parar o grupo de agentes privados e remover seus contêineres:

    docker compose down -d
    

Vários agentes com helm e kubernetes

O Jitterbit fornece um gráfico do Helm que você pode usar para executar um cluster de agentes usando Kubernetes.

  1. Iniciar um cluster Kubernetes.

    Dica

    No Docker Desktop, selecione Configurações > Kubernetes > Habilitar Kubernetes.

  2. Execute este comando para criptografar seu nome de usuário e senha do Harmony:

    docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
    

    Dica

    Você pode usar a mesma saída dos exemplos anteriores.

  3. Crie um arquivo values.yaml contendo o seguinte, com valores substituídos conforme a tabela abaixo:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    nameOverride: private-agent-group
    
    image:
      repository: jitterbit/agent
      pullPolicy: always
    
    agent:
      registerjson:
        cloudUrl: "https://REGION.jitterbit.com"
        agentGroupId: GROUP_ID
        username: ENCRYPTED_USERNAME
        password: ENCRYPTED_PASSWORD
        agentNamePrefix: "test"
        deregisterAgentOnDrainstop: true
    
    hpa:
      enabled: true
      minReplicas: 3
      maxReplicas: 5
    
    replicas: 4
    
    Linha Valor Substituir por
    9 REGION Sua região de conta Harmony (na-east, emea-west, ou apac-southeast).
    10 GROUP_ID O número de identificação do grupo de agentes.
    11 ENCRYPTED_USERNAME A primeira linha de saída da etapa 2.
    12 ENCRYPTED_PASSWORD A segunda linha de saída da etapa 2.

    Cuidado

    Esta configuração especifica que o Kubernetes deve executar pelo menos 3 e, no máximo, 5 agentes se o Horizontal Pod Autoscaler estiver ativo, ou 4 agentes se não estiver. Como cada agente privado do Docker precisa de aproximadamente 0,25 núcleos de CPU e 2 GB de memória, você deve verificar as especificações do seu host. pode suportar esse número de agentes. Você também pode adicionar um resources elemento para definir os limites de utilização de recursos. Para mais detalhes, veja o exemplo do Jitterbit value.yml arquivo.

  4. Execute estes comandos para adicionar e atualizar o repositório de gráficos do Helm:

    helm repo add jitterbit https://jitterbit.github.io/charts
    helm repo update
    
  5. Execute este comando para iniciar o cluster de agentes privados:

    helm upgrade -i -f values.yaml private-agent-group jitterbit/agent-group
    

    Dica

    Correr kubectl -n default get pods --watchpara monitorar o status do cluster, ou kubectl exec -it private-agent-group-0 -- curl localhost:46912/axis/v1/cdk/internal/memberspara listar os membros do cluster do serviço de escuta.

  6. Execute este comando para interromper o cluster e remover os contêineres:

    helm uninstall private-agent-group
    

Variáveis de ambiente

As seguintes variáveis de ambiente são reconhecidas pela imagem Docker do agente privado Jitterbit:

Categoria Variável Obrigatório Padrão Valores permitidos Descrição
Entrar HARMONY_ORIGIN https://na-east.jitterbit.com
https://emea-west.jitterbit.com
https://apac-southeast.jitterbit.com
O URL de login para sua conta Harmony.
HARMONY_USERNAME String Nome de usuário da sua conta Harmony.
HARMONY_PASSWORD String A senha da sua conta Harmony.
HARMONY_ORG_NAME String Nome da sua organização Harmony.
Identificação do Agente HARMONY_AGENT_GROUP_NAME String O nome do grupo de agentes e o nome do ambiente, separados por um sublinhado.
HARMONY_AGENT_NAME String O nome do agente.
Observabilidade JITTERBIT_ENABLE_METRICS Datadog
Elasticsearch
Habilitar observabilidade do agente privado para a plataforma especificada.
DD_API_KEY
(se JITTERBIT_ENABLE_METRICS=Datadog)
String Chave da API do Datadog.
DD_SITE datadoghq Cadeia de caracteres URL do site Datadog.
DD_HOST_NAME Automático (do nome do host do sistema) String Nome do host do agente Datadog.
ES_API_KEY
(se JITTERBIT_ENABLE_METRICS=Elasticsearch)
String API do Elasticsearch.
ES_URL
(se JITTERBIT_ENABLE_METRICS=Elasticsearch)
Cadeia de caracteres URL do Elasticsearch.
METRICS_AGENT_NAME Automático (de auto-register informações) String Nome do agente privado.
METRICS_AGENT_GROUP_NAME Automático (de auto-register informações) String Nome do grupo de agentes privados.
METRICS_ENVIRONMENT_NAME Automático (de auto-register informações) String Nome do ambiente.
SKIP_METRICS_CONFIG Sequência Se true, não configura automaticamente as métricas do Jitterbit. (Equivalente a jitterbit-config -k/--skip-metrics-configopção.)
ENABLE_JITTERBIT_METRICS Sequência Se true, habilite as métricas Jitterbit. Ignorado se SKIP_METRICS_CONFIG é true.

Solução de problemas

Estas seções na página Solução de problemas pode ajudar na solução de problemas de agentes privados em execução no Docker: