Instalar um grupo de agentes privados Jitterbit no Kubernetes usando Helm
Introdução
Um grupo de agentes privados Jitterbit pode ser configurado para registro automático e dimensionamento automático 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 no register.json
definido para o grupo de agentes (original no repositório GitHub de gráficos Jitterbit):
Importante
Tokens de acesso de registro de Agente requer 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: | Do agente register.json mapeamento | |
registerjson: | ||
cloudURL | https://na-east.jitterbit.com | URL de sua região Harmony; veja 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 do Agente |
agentNamePrefix | "%host%" | Um prefixo adicionado ao registro de data e hora UTC da criação do agente para formar o nome do agente |
deregisterAgentOnDrainStop | true | Executa cancelamento de registro do agente após parada de drenagem do agente |
hpa: | Autoescalador 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 é defini-lo igual 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: | Do agente register.json mapeamento | |
registerjson: | ||
cloudURL | https://na-east.jitterbit.com | URL de sua região Harmony; veja 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 agentes register.json |
password | $00LongEncryptedAndHashedPassword= | Senha criptografada e com hash de gerando o grupo de agentes register.json |
agentGroupId | 346591 | ID do grupo do Agente |
agentNamePrefix | "%host%" | Um prefixo adicionado ao registro de data e hora UTC da criação do agente para formar o nome do agente |
deregisterAgentOnDrainStop | true | Executa cancelamento de registro do agente após parada de drenagem do agente |
hpa: | Autoescalador 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 é defini-lo igual ao maxReplicas |
Instalar e executar o grupo de agentes
Siga estas etapas para instalar e executar um grupo de agentes no Kubernetes usando o Helm:
-
Certifique-se de que seu cluster Kubernetes esteja instalado e 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 agentes
register.json
arquivo, se você ainda não o fez. As instruções sobre isso estão em Registro automático e dimensionamento automático do Agente. -
Crie o grupo do seu agente
values.yaml
arquivo. Observe que como YAML é um superconjunto de JSON, você pode atribuiragent.registerjson
para o seuregister.json
Objeto JSON de 's. 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 de registro de Agente requer 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
o arquivo tem as terminações de linha do UNIX\n
em vez de DOS's\r\n
. -
Verifique se o seu tempo de execução do Docker tem recursos suficientes alocados para acomodar o número máximo de réplicas que você especificou. Cada agente privado do Docker 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 2 GB 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 como CPUs na interface do usuário do Docker — e 16 GB de memória alocados para o Docker), você pode executar no máximo 7 agentes privados do Docker. Oito agentes exigiriam 2 núcleos e 16 GB de memória, usando 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 para o 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 agentes:
helm upgrade --install --force --atomic --timeout 1h -f ./values.yaml private-agent-group jitterbit/agent-group
-
Aguarde que cada pod do agente seja iniciado e monitore usando o Jitterbit Management Console:
watch kubectl get pods
Acesse um agente individual
Se você precisar acessar um dos agentes, você pode executar um shell Bash em seu contêiner usando o seguinte código, substituindo private-agent-group-0
com o nome Docker do agente específico que você precisa acessar:
kubectl exec -it private-agent-group-0 bash
Desmontagem do grupo de Agente
Quando estiver pronto para desmontar o grupo de agentes, desinstale a versão do Helm:
helm uninstall private-agent-group