Saltar al contenido

Instalar un grupo de agentes privados Jitterbit en Kubernetes usando Helm

Introducción

Se puede configurar un grupo de agentes privados de Jitterbit para que se registren y escalen automáticamente mediante Kubernetes. Esta página describe cómo configurar un grupo de agentes privados mediante Kubernetes y Helm.

Referencia: El archivo YAML de valores {: #reference-the-values-yaml-file }El grupo de agentes se configura mediante un values.yaml archivo. Estos son los atributos y definiciones en el archivo, basado en el register.jsondefinido para el grupo de agentes (original en el repositorio de GitHub de gráficos Jitterbit):

Importante

Tokens de acceso al registro del Agente requieren agentes con la versión 10.83/11.21 o posterior.

Atributo Valores de ejemplo Descripción
nameOverride private-agent-group Se utiliza para nombrar los recursos de Kubernetes; de forma predeterminada, el nombre del gráfico (agent-group) se utiliza pero se puede anular con esto
image: Mapeo de imágenes
    repository jitterbit/agent
    tag latest A menos que se requiera específicamente, utilice latest
agent: Del agente register.json mapeo
    registerjson:
       cloudURL https://na-east.jitterbit.com URL de tu región de Harmony; vea ejemplo register.json para la lista de regiones
       token jb_a1b23c45-d6ef-789a-b0cd-e12fabcd3e4f Token de acceso al registro del Agente
       agentGroupId 346591 ID del grupo del Agente
       agentNamePrefix "%host%" Un prefijo agregado a la marca de tiempo UTC de la creación del agente para formar el nombre del agente
       deregisterAgentOnDrainStop true Realiza la cancelación del registro del agente al detener el drenaje del agente
hpa: Escalador automático de pods horizontales mapeo
    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; una medida de seguridad es establecerlo igual al maxReplicas

Importante

Si usa agentes de la versión 10.83/11.21 o posterior, recomendamos usar Tokens de acceso de registro de Agente sobre credenciales de usuario cifradas del Instalador del agente. Los tokens de acceso al Registro del Agente no vencen y se pueden administrar en la Management Console en cualquier momento.

Atributo Valores de ejemplo Descripción
nameOverride private-agent-group Se utiliza para nombrar los recursos de Kubernetes; de forma predeterminada, el nombre del gráfico (agent-group) se utiliza pero se puede anular con esto
image: Mapeo de imágenes
    repository jitterbit/agent
    tag latest A menos que se requiera específicamente, utilice latest
agent: Del agente register.json mapeo
    registerjson:
       cloudURL https://na-east.jitterbit.com URL de tu región de Harmony; vea ejemplo register.json para la lista de regiones
       username $00+LongEncryptedAndHashedUsername== Nombre de usuario cifrado y en hash de generando el grupo de agentes register.json
       password $00LongEncryptedAndHashedPassword= Contraseña cifrada y encriptada de generación del grupo de agentes register.json
       agentGroupId 346591 ID del grupo del Agente
       agentNamePrefix "%host%" Un prefijo agregado a la marca de tiempo UTC de la creación del agente para formar el nombre del agente
       deregisterAgentOnDrainStop true Realiza la cancelación del registro del agente al detener el drenaje del agente
hpa: Escalador automático de pods horizontales mapeo
    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; una medida de seguridad es establecerlo igual al maxReplicas

Instalar y ejecutar el grupo de agentes

Siga estos pasos para instalar y ejecutar un grupo de agentes en Kubernetes con Helm:

  1. Asegúrese de que su clúster de Kubernetes esté en funcionamiento y que su cliente Helm esté configurado correctamente para usar el clúster junto con el repositorio público de Helm de Jitterbit.

  2. Genere el grupo de agentes register.json archivo, si aún no lo ha hecho. Las instrucciones sobre esto se encuentran en Registro automático y escalado automático del Agente.

  3. Crea tu grupo de agentes values.yaml archivo. Tenga en cuenta que, como YAML es un superconjunto de JSON, puede asignar agent.registerjson A tu register.json Objeto JSON de. Aquí hay un ejemplo values.yaml archivo creado usando el register.json archivo del paso anterior. Se convirtió en YAML colocándolo debajo agent.registerjson:

    Importante

    Tokens de acceso de registro de Agente requieren la versión 10.83/11.21 o posterior del agente.

    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

    Si usa agentes de la versión 10.83/11.21 o posterior, recomendamos usar Tokens de acceso de registro de Agente sobre credenciales de usuario cifradas del Instalador del agente. Los tokens de acceso al Registro del Agente no vencen y se pueden administrar en la Management Console en cualquier 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
    

    Advertencia

    Si está utilizando un sistema operativo Windows, asegúrese de que values.yaml El archivo tiene los finales de línea UNIX \n En lugar de DOS \r\n.

  4. Compruebe que su tiempo de ejecución de Docker tenga suficientes recursos asignados para albergar la cantidad máxima de réplicas que ha especificado. Cada agente privado de Docker requiere 0,25 núcleos y 2 GB de memoria:

    Recurso Cálculo de valor Valor que no debe exceder
    Núcleos 0,25 núcleos x maxReplicas (número de CPU) x (número de núcleos/CPU)
    Memoria 2 GB x maxReplicas Memoria disponible asignada al clúster de Kubernetes
  5. En el sistema Docker Kubernetes de ejemplo que se muestra a continuación (una computadora macOS con 6 núcleos, denominados CPU en la interfaz de usuario de Docker, y 16 GB de memoria asignada a Docker), podría ejecutar como máximo 7 agentes privados de Docker. Ocho agentes requerirían 2 núcleos y 16 GB de memoria, y utilizarían toda la memoria disponible. Sin embargo, como Kubernetes ejecuta algunos contenedores en el mismo tiempo de ejecución de Docker (conocido como Kubernetes en Docker), permita como mínimo un espacio libre de un núcleo y una parte de la memoria en lugar de dedicar todos los recursos disponibles al grupo de agentes:

    archivo adjunto

  6. Agregue el repositorio de gráficos Helm público de Jitterbit a su cliente. No se requieren credenciales:

    helm repo add jitterbit https://jitterbit.github.io/charts
    # "jitterbit" has been added to your repositories
    
  7. Actualice el caché local de repositorios de su cliente Helm (recomendado). Esto garantizará que esté usando la última versión del gráfico de Helm:

    helm repo update
    
  8. Instale la versión Helm de su grupo de agentes:

    helm upgrade --install --force --atomic --timeout 1h -f ./values.yaml private-agent-group jitterbit/agent-group
    
  9. Espere a que cada módulo de agente se active y monitoree mediante la Management Console Jitterbit:

    watch kubectl get pods
    

Acceda a un agente individual

Si necesita acceder a uno de los agentes, puede ejecutar un shell Bash en su contenedor utilizando el siguiente código, reemplazando private-agent-group-0 con el nombre de Docker del agente en particular al que necesita acceder:

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

Desmantelamiento del grupo de Agente

Cuando esté listo para desmantelar el grupo de agentes, desinstale la versión de Helm:

helm uninstall private-agent-group