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.json
definido 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:
-
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.
-
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. -
Crea tu grupo de agentes
values.yaml
archivo. Tenga en cuenta que, como YAML es un superconjunto de JSON, puede asignaragent.registerjson
A turegister.json
Objeto JSON de. Aquí hay un ejemplovalues.yaml
archivo creado usando elregister.json
archivo del paso anterior. Se convirtió en YAML colocándolo debajoagent.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
. -
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 -
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:
-
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
-
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
-
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
-
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