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:
-
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.
-
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. -
Cree su grupo de Agente
values.yaml
archivo. Tenga en cuenta que como YAML es un superconjunto de JSON, puede asignaragent.registerjson
para ustedregister.json
El objeto JSON. Aquí hay un ejemplovalues.yaml
archivo creado usando elregister.json
archivo del paso anterior. Se convirtió a YAML colocándolo debajoagent.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
. -
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 -
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:
-
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
-
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
-
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
-
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