Saltar al contenido

Instalar un Grupo de Agentes Privados en Kubernetes Usando Helm

Introducción

Se puede configurar un grupo de agentes privados de Harmony 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

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 de Jitterbit):

Importante

Tokens de acceso de 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 su región de Harmony; vea ejemplo register.json para la lista de regiones
       token jb_a1b23c45-d6ef-789a-b0cd-e12fabcd3e4f Token de acceso de registro del Agente
       agentGroupId 346591 ID del grupo de 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 versión 10.83/11.21 o posterior, recomendamos usar tokens de acceso de registro de Agente sobre las credenciales de usuario cifradas de Agent Installer. Los tokens de acceso de registro de Agente no caducan 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 su 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 de 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 al respecto se encuentran en Registro automático y ajuste de escala 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 para usted register.json Objeto JSON de. A continuación se muestra un ejemplo. values.yamlarchivo creado usando el register.json archivo del paso anterior. Se convirtió en YAML colocándolo debajo agent.registerjson:

    Importante

    Tokens de acceso de registro del 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 versión 10.83/11.21 o posterior, recomendamos usar tokens de acceso de registro de Agente sobre las credenciales de usuario cifradas de Agent Installer. Los tokens de acceso de registro de Agente no caducan 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. Verifique que su tiempo de ejecución de Docker tenga suficientes recursos asignados para acomodar la cantidad máxima de réplicas que ha especificado. Cada agente privado Docker requiere 0,25 núcleos y 2 GB de memoria:

    Recurso Cálculo del 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 (etiquetados como 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 necesitarían 2 núcleos y 16 GB de memoria, utilizando 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:

    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 supervise mediante la Harmony Management Console:

    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

Desmontaje del Grupo de Agente

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

helm uninstall private-agent-group