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 ajusten automáticamente usando Kubernetes. Esta página describe cómo configurar un grupo de Agentes Privados usando Kubernetes y Helm.

Referencia: El Archivo YAML de Valores

El Grupo de Agentes se configura mediante un específico values.yaml archivo. Estos son los atributos y definiciones en el archivo, basado en el register.json definido para el Grupo de Agentes (original en el repositorio de GitHub de gráficos de Jitterbit):

Importante

Tokens de acceso de registro de Agente requieren agentes 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; por defecto 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, use latest
agent: del agente register.json cartografía
    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 de Agente
        agentGroupId 346591 ID de Grupo de Agentes
        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 cancelación del registro del agente al detenerse el drenaje del agente
hpa: Escalador automático de pod horizontal cartografía
    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 salvaguardia es establecer esto 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; por defecto 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, use latest
agent: del agente register.json cartografía
    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 con hash de generar el grupo de Agente register.json
        password $00LongEncryptedAndHashedPassword= Contraseña cifrada y hash de generar el grupo de Agente register.json
        agentGroupId 346591 ID de Grupo de Agentes
        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 cancelación del registro del agente al detenerse el drenaje del agente
hpa: Escalador automático de pod horizontal cartografía
    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 salvaguardia es establecer esto igual al maxReplicas

Instalación y Ejecución del Grupo de Agentes

Siga estos pasos para instalar y ejecutar un Grupo de Agentes en Kubernetes usando Helm:

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

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

  3. Cree su grupo de Agente values.yaml archivo. Tenga en cuenta que como YAML es un superconjunto de JSON, puede asignar agent.registerjson para usted register.json El objeto JSON. Aquí hay un ejemplo values.yaml archivo creado usando el register.json archivo del paso anterior. Se convirtió a YAML colocándolo debajo agent.registerjson:

    Importante

    tokens de acceso de registro de Agente requieren agentes versión 10.83/11.21 o 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

    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 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 Docker Agente Privado 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 2GBx maxReplicas Memoria disponible asignada al clúster de Kubernetes
  5. En el ejemplo del sistema Docker Kubernetes 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 público de gráficos Helm 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 la caché de repositorios local de su cliente Helm (recomendado). Esto garantizará que esté utilizando la última versión del gráfico Helm:

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

    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
    

Accediendo a un Agente Individual

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

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

Desmontaje del Grupo de Agentes

Cuando esté listo para eliminar Grupo de Agentes, desinstale la versión Helm:

helm uninstall private-agent-group