Ir para o conteúdo

Instale um Grupo de Agentes Privados no Kubernetes Usando Helm

Introdução

Um grupo de Harmony Agentes Privados pode ser configurado para registro e escalonamento automáticos 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 em register.json definido para o Grupo de Agentes (original no repositório GitHub de gráficos Jitterbit):

Importante

Tokens de acesso ao registro do Agente exigem 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: Agente register.json mapeamento
    registerjson:
        cloudURL https://na-east.jitterbit.com URL de sua região Harmony; consultar 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 de Agentes
        agentNamePrefix "%host%" Um prefixo adicionado ao carimbo de data/hora UTC de criação do agente para formar o nome do agente
        deregisterAgentOnDrainStop true Executa cancelamento de registro do agente após a parada do agente
hpa: Escalador automático 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 é igualá-lo 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: Agente register.json mapeamento
    registerjson:
        cloudURL https://na-east.jitterbit.com URL de sua região Harmony; consultar 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 Agente register.json
        password $00LongEncryptedAndHashedPassword= Senha criptografada e com hash de gerando o grupo de Agente register.json
        agentGroupId 346591 ID do Grupo de Agentes
        agentNamePrefix "%host%" Um prefixo adicionado ao carimbo de data/hora UTC de criação do agente para formar o nome do agente
        deregisterAgentOnDrainStop true Executa cancelamento de registro do agente após a parada do agente
hpa: Escalador automático 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 é igualá-lo ao maxReplicas

Instalando e Executando o Grupo de Agentes

Siga estas etapas para instalar e executar um Grupo de Agentes no Kubernetes usando Helm:

  1. Certifique-se de que seu cluster Kubernetes esteja 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 Agente register.json arquivo, se ainda não o fez. As instruções sobre isso estão em Registro automático e escalonamento automático do Agente.

  3. Crie seu grupo de Agente values.yaml arquivo. Observe que como YAML é um superconjunto de JSON, você pode atribuir agent.registerjson para o seu register.json objeto JSON. 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 ao registro do Agente exigem 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 arquivo tem os finais de linha do UNIX \n em vez de DOS \r\n.

  4. Verifique se o tempo de execução do Docker possui recursos suficientes alocados para acomodar o número máximo de réplicas especificadas. Cada Docker Agente Privado 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 2GB 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 CPUs na UI do Docker - e 16 GB de memória alocada para o Docker), você poderia executar no máximo 7 Docker Agentes Privados. Oito agentes exigiriam 2 núcleos e 16 GB de memória, utilizando 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 ao 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 Agente:

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

    watch kubectl get pods
    

Acessando um Agente Individual

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

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

Desmontagem do Grupo de Agentes

Quando estiver pronto para desmontar o Grupo de Agentes, desinstale a versão do Helm:

helm uninstall private-agent-group