Ir para o conteúdo

Transforme as suas conexões em um bônus de fim de ano com o nosso novo Programa de Indicação de Clientes! Saiba mais

Instalar um grupo de agentes privados Jitterbit no Kubernetes usando Helm

Introdução

Um grupo de agentes privados Jitterbit pode ser configurado para registro automático e dimensionamento automático usando Kubernetes. Esta página descreve como configurar um grupo de agentes privados usando Kubernetes e Helm.

Referência: O arquivo YAML de valores

O grupo de agentes é configurado usando um values.yaml arquivo. Estes são os atributos e definições no arquivo, com base no register.json definido para o grupo de agentes (original no repositório GitHub de gráficos Jitterbit):

Importante

Tokens de acesso de registro de Agente requer agentes versão 10.83 / 11.21 ou posterior.

Atributo Valores de exemplo Descrição
nameOverride private-agent-group Usado para nomear recursos do Kubernetes; por padrão, o nome do gráfico (agent-group) é usado, mas pode ser substituído por este
image: Mapeamento de imagens
    repository jitterbit/agent
    tag latest A menos que seja especificamente necessário, use latest
agent: Do agente register.json mapeamento
    registerjson:
        cloudURL https://na-east.jitterbit.com URL de sua região Harmony; veja exemplo register.json para a lista de regiões
        token jb_a1b23c45-d6ef-789a-b0cd-e12fabcd3e4f Token de acesso de registro do Agente
        agentGroupId 346591 ID do grupo do Agente
        agentNamePrefix "%host%" Um prefixo adicionado ao registro de data e hora UTC da criação do agente para formar o nome do agente
        deregisterAgentOnDrainStop true Executa cancelamento de registro do agente após parada de drenagem do agente
hpa: Autoescalador de Pod Horizontal mapeamento
    minReplicas 2 Número mínimo de réplicas
    maxReplicas 3 Número máximo de réplicas
    replicas 3 Número inicial de réplicas; uma salvaguarda é defini-lo igual ao maxReplicas

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.

Atributo Valores de Exemplo Descrição
nameOverride private-agent-group Usado para nomear recursos do Kubernetes; por padrão, o nome do gráfico (agent-group) é usado, mas pode ser substituído por este
image: Mapeamento de imagens
    repository jitterbit/agent
    tag latest A menos que seja especificamente necessário, use latest
agent: Do agente register.json mapeamento
    registerjson:
        cloudURL https://na-east.jitterbit.com URL de sua região Harmony; veja exemplo register.json para a lista de regiões
        username $00+LongEncryptedAndHashedUsername== Nome de usuário criptografado e com hash de gerando o grupo de agentes register.json
        password $00LongEncryptedAndHashedPassword= Senha criptografada e com hash de gerando o grupo de agentes register.json
        agentGroupId 346591 ID do grupo do Agente
        agentNamePrefix "%host%" Um prefixo adicionado ao registro de data e hora UTC da criação do agente para formar o nome do agente
        deregisterAgentOnDrainStop true Executa cancelamento de registro do agente após parada de drenagem do agente
hpa: Autoescalador de Pod Horizontal mapeamento
    minReplicas 2 Número mínimo de réplicas
    maxReplicas 3 Número máximo de réplicas
    replicas 3 Número inicial de réplicas; uma salvaguarda é defini-lo igual ao maxReplicas

Instalar e executar o grupo de agentes

Siga estas etapas para instalar e executar um grupo de agentes no Kubernetes usando o Helm:

  1. Certifique-se de que seu cluster Kubernetes esteja instalado e funcionando e que seu cliente Helm esteja configurado corretamente para usar o cluster junto com o repositório Helm público do Jitterbit.

  2. Gere o grupo de agentes register.json arquivo, se você ainda não o fez. As instruções sobre isso estão em Registro automático e dimensionamento automático do Agente.

  3. Crie o grupo do seu agente values.yaml arquivo. Observe que como YAML é um superconjunto de JSON, você pode atribuir agent.registerjson para o seu register.json Objeto JSON de 's. Aqui está um exemplo values.yaml arquivo criado usando o register.json arquivo da etapa anterior. Ele foi convertido em YAML colocando-o em agent.registerjson:

    Importante

    Tokens de acesso de registro de Agente requer agentes versão 10.83 / 11.21 ou posterior.

    nameOverride: private-agent-group
    image:
      repository: jitterbit/agent
      tag: latest
    agent:
      registerjson:
        cloudUrl: https://na-east.jitterbit.com
        token: jb_a1b23c45-d6ef-789a-b0cd-e12fabcd3e4f
        agentGroupId: 346591
        agentNamePrefix: "%host%"
        deregisterAgentOnDrainstop: true
    hpa:
      minReplicas: 2
      maxReplicas: 3
    replicas: 3
    

    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.

    nameOverride: private-agent-group
    image:
      repository: jitterbit/agent
      tag: latest
    agent:
      registerjson:
        cloudUrl: https://na-east.jitterbit.com
        username: $00+LongEncryptedAndHashedUsername==
        password: $00LongEncryptedAndHashedPassword=
        agentGroupId: 346591
        agentNamePrefix: "%host%"
        deregisterAgentOnDrainstop: true
    hpa:
      minReplicas: 2
      maxReplicas: 3
    replicas: 3
    

    Aviso

    Se você estiver usando um sistema operacional Windows, certifique-se de que o values.yaml o arquivo tem as terminações de linha do UNIX \n em vez de DOS's \r\n.

  4. Verifique se o seu tempo de execução do Docker tem recursos suficientes alocados para acomodar o número máximo de réplicas que você especificou. Cada agente privado do Docker requer 0,25 núcleos e 2 GB de memória:

    Recurso Cálculo de valor Valor a não exceder
    Núcleos 0,25 núcleos x maxReplicas (número de CPUs) x (número de núcleos/CPU)
    Memória 2 GB x maxReplicas Memória disponível alocada para o cluster Kubernetes
  5. No exemplo do sistema Docker Kubernetes mostrado abaixo (um computador macOS com 6 núcleos — rotulados como CPUs na interface do usuário do Docker — e 16 GB de memória alocados para o Docker), você pode executar no máximo 7 agentes privados do Docker. Oito agentes exigiriam 2 núcleos e 16 GB de memória, usando toda a memória disponível. No entanto, como o próprio Kubernetes executa alguns contêineres no mesmo tempo de execução do Docker (conhecido como Kubernetes no Docker), permita no mínimo um espaço livre de um núcleo e uma parte da memória em vez de dedicar todos os recursos disponíveis para o grupo de agentes:

    anexo

  6. Adicione o repositório público de gráficos Helm do Jitterbit ao seu cliente. Nenhuma credencial é necessária:

    helm repo add jitterbit https://jitterbit.github.io/charts
    # "jitterbit" has been added to your repositories
    
  7. Atualize o cache local de repositórios do seu cliente Helm (recomendado). Isso garantirá que você esteja usando a versão mais recente do gráfico Helm:

    helm repo update
    
  8. Instale a versão Helm do seu grupo de agentes:

    helm upgrade --install --force --atomic --timeout 1h -f ./values.yaml private-agent-group jitterbit/agent-group
    
  9. Aguarde que cada pod do agente seja iniciado e monitore usando o Jitterbit Management Console:

    watch kubectl get pods
    

Acesse um agente individual

Se você precisar acessar um dos agentes, você pode executar um shell Bash em seu contêiner usando o seguinte código, substituindo private-agent-group-0 com o nome Docker do agente específico que você precisa acessar:

kubectl exec -it private-agent-group-0 bash

Desmontagem do grupo de Agente

Quando estiver pronto para desmontar o grupo de agentes, desinstale a versão do Helm:

helm uninstall private-agent-group