Instale um Grupo de Agentes Privados no Kubernetes Usando Helm¶
Introdução¶
Um grupo de Harmony Agentes Privados pode ser configurado para registro e escalonamento automáticos usando Kubernetes. Esta página descreve como configurar um grupo de Agentes Privados usando Kubernetes e Helm.
Referência: o Arquivo YAML de Valores¶
O Grupo de Agentes é configurado usando um values.yaml
arquivo. Estes são os atributos e definições no arquivo, com base em register.json
definido para o Grupo de Agentes (original no repositório GitHub de gráficos Jitterbit):
Importante
Tokens de acesso ao registro do Agente exigem agentes versão 10.83/11.21 ou posterior.
Atributo | Valores de exemplo | Descrição |
---|---|---|
nameOverride | private-agent-group | Usado para nomear recursos do Kubernetes; por padrão, o nome do gráfico (agent-group ) é usado, mas pode ser substituído por este |
image: | Mapeamento de imagens | |
repository | jitterbit/agent | |
tag | latest | A menos que seja especificamente necessário, use latest |
agent: | Agente register.json mapeamento | |
registerjson: | ||
cloudURL | https://na-east.jitterbit.com | URL de sua região Harmony; consultar exemplo register.json para a lista de regiões |
token | jb_a1b23c45-d6ef-789a-b0cd-e12fabcd3e4f | Token de acesso de registro do Agente |
agentGroupId | 346591 | ID do Grupo de Agentes |
agentNamePrefix | "%host%" | Um prefixo adicionado ao carimbo de data/hora UTC de criação do agente para formar o nome do agente |
deregisterAgentOnDrainStop | true | Executa cancelamento de registro do agente após a parada do agente |
hpa: | Escalador automático de pod horizontal mapeamento | |
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; uma salvaguarda é igualá-lo ao maxReplicas |
Importante
Se estiver usando agentes versão 10.83 / 11.21 ou posterior, recomendamos usar tokens de acesso de registro de Agente sobre credenciais de usuário criptografadas do Agent Installer. Os tokens de acesso do Registro do Agente não expiram e podem ser gerenciados no Management Console a qualquer momento.
Atributo | Valores de exemplo | Descrição |
---|---|---|
nameOverride | private-agent-group | Usado para nomear recursos do Kubernetes; por padrão, o nome do gráfico (agent-group ) é usado, mas pode ser substituído por este |
image: | Mapeamento de imagens | |
repository | jitterbit/agent | |
tag | latest | A menos que seja especificamente necessário, use latest |
agent: | Agente register.json mapeamento | |
registerjson: | ||
cloudURL | https://na-east.jitterbit.com | URL de sua região Harmony; consultar exemplo register.json para a lista de regiões |
username | $00+LongEncryptedAndHashedUsername== | Nome de usuário criptografado e com hash de gerando o grupo de Agente register.json |
password | $00LongEncryptedAndHashedPassword= | Senha criptografada e com hash de gerando o grupo de Agente register.json |
agentGroupId | 346591 | ID do Grupo de Agentes |
agentNamePrefix | "%host%" | Um prefixo adicionado ao carimbo de data/hora UTC de criação do agente para formar o nome do agente |
deregisterAgentOnDrainStop | true | Executa cancelamento de registro do agente após a parada do agente |
hpa: | Escalador automático de pod horizontal mapeamento | |
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; uma salvaguarda é igualá-lo ao maxReplicas |
Instalando e Executando o Grupo de Agentes¶
Siga estas etapas para instalar e executar um Grupo de Agentes no Kubernetes usando Helm:
-
Certifique-se de que seu cluster Kubernetes esteja funcionando e que seu cliente Helm esteja configurado corretamente para usar o cluster junto com o repositório Helm público do Jitterbit.
-
Gere o Grupo de Agente
register.json
arquivo, se ainda não o fez. As instruções sobre isso estão em Registro automático e escalonamento automático do Agente. -
Crie seu grupo de Agente
values.yaml
arquivo. Observe que como YAML é um superconjunto de JSON, você pode atribuiragent.registerjson
para o seuregister.json
objeto JSON. Aqui está um exemplovalues.yaml
arquivo criado usando oregister.json
arquivo da etapa anterior. Ele foi convertido em YAML colocando-o emagent.registerjson
:Importante
Tokens de acesso ao registro do Agente exigem agentes versão 10.83/11.21 ou 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
Se estiver usando agentes versão 10.83 / 11.21 ou posterior, recomendamos usar tokens de acesso de registro de Agente sobre credenciais de usuário criptografadas do Agent Installer. Os tokens de acesso do Registro do Agente não expiram e podem ser gerenciados no Management Console a qualquer 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
Aviso
Se você estiver usando um sistema operacional Windows, certifique-se de que o
values.yaml
arquivo tem os finais de linha do UNIX\n
em vez de DOS\r\n
. -
Verifique se o tempo de execução do Docker possui recursos suficientes alocados para acomodar o número máximo de réplicas especificadas. Cada Docker Agente Privado requer 0,25 núcleos e 2 GB de memória:
Recurso Cálculo de valor Valor a não exceder Núcleos 0,25 núcleos x maxReplicas
(número de CPUs) x (número de núcleos/CPU) Memória 2GB x maxReplicas
Memória disponível alocada para o cluster Kubernetes -
No exemplo do sistema Docker Kubernetes mostrado abaixo (um computador macOS com 6 núcleos - rotulados CPUs na UI do Docker - e 16 GB de memória alocada para o Docker), você poderia executar no máximo 7 Docker Agentes Privados. Oito agentes exigiriam 2 núcleos e 16 GB de memória, utilizando toda a memória disponível. No entanto, como o próprio Kubernetes executa alguns contêineres no mesmo tempo de execução do Docker (conhecido como Kubernetes no Docker), permita no mínimo um espaço livre de um núcleo e uma parte da memória em vez de dedicar todos os recursos disponíveis ao Grupo de Agentes:
-
Adicione o repositório público de gráficos Helm do Jitterbit ao seu cliente. Nenhuma credencial é necessária:
helm repo add jitterbit https://jitterbit.github.io/charts # "jitterbit" has been added to your repositories
-
Atualize o cache local de repositórios do seu cliente Helm (recomendado). Isso garantirá que você esteja usando a versão mais recente do gráfico Helm:
helm repo update
-
Instale a versão Helm do seu grupo de Agente:
helm upgrade --install --force --atomic --timeout 1h -f ./values.yaml private-agent-group jitterbit/agent-group
-
Aguarde até que cada pod de agente seja ativado e monitore usando o Harmony Management Console:
watch kubectl get pods
Acessando um Agente Individual¶
Se precisar acessar um dos agentes, você pode executar um shell Bash em seu contêiner usando o código a seguir, substituindo private-agent-group-0
pelo nome Docker do agente específico que você precisa acessar:
kubectl exec -it private-agent-group-0 bash
Desmontagem do Grupo de Agentes¶
Quando estiver pronto para desmontar o Grupo de Agentes, desinstale a versão do Helm:
helm uninstall private-agent-group