Ir para o conteúdo

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