Infraestrutura em containers
Kmind Agent Docker
Conecte hosts Docker ao Kmind com uma chave de integracao reutilizavel por varios hosts do mesmo servico. O agente se comunica somente com o Gateway Kmind e usa acesso de leitura ao Docker Engine.
Como a integracao funciona
No Console, crie um servico Docker no cluster desejado. A chave kmd_... pertence ao servico, nao a um host: use a mesma chave nos hosts que devem reportar para aquele servico. Cada instalacao mantem apenas um identificador local persistente em /var/lib/kmind-agent.
Nunca coloque a chave em imagens, repositorios ou variaveis expostas no frontend. Entregue-a ao host como segredo ou arquivo com permissao restrita.
Pre-requisitos
- Docker Engine em execucao e acesso ao socket Docker para o usuario do agente.
- Uma integracao Docker criada no Console Kmind e sua chave privada
kmd_.... - Saida HTTPS para
https://ingest.kmind.com.br. - Docker Compose v2 para Compose ou Docker Swarm para a instalacao global.
Instalacao com Docker Compose
Crie um diretorio restrito, salve a chave e limite a leitura ao administrador do host:
mkdir -p /opt/kmind-agent-docker && cd /opt/kmind-agent-docker
umask 077
printf '%s' 'kmd_COLE_A_CHAVE_DO_CONSOLE' > kmind_api_key.txtCrie o arquivo compose.yaml abaixo. Ajuste os nomes para identificar o servico no Console.
services:
kmind-agent-docker:
image: ghcr.io/fcconsultoria/kmind-agent-docker:latest
restart: unless-stopped
user: "${KMIND_AGENT_UID:-0}:${KMIND_AGENT_GID:-0}"
environment:
KMIND_API_KEY_FILE: /run/secrets/kmind_api_key
KMIND_SERVICE_NAME: docker-production
KMIND_APPLICATION_NAME: infrastructure
KMIND_ENDPOINT: https://ingest.kmind.com.br
KMIND_STATUS_ENDPOINT: https://ingest.kmind.com.br/v1/agent/status
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- kmind-agent-data:/var/lib/kmind-agent
secrets: [kmind_api_key]
read_only: true
tmpfs: [/tmp:size=16m,noexec,nosuid]
cap_drop: [ALL]
security_opt: [no-new-privileges:true]
labels: {kmind.monitoring: "disabled"}
secrets:
kmind_api_key: {file: ./kmind_api_key.txt}
volumes: {kmind-agent-data: {}}docker compose up -d
docker compose logs -f kmind-agent-docker0 por compatibilidade. Quando seu socket permitir, defina KMIND_AGENT_UID e KMIND_AGENT_GID para uma conta sem privilegios extras.Docker rootless e Swarm
Para Docker rootless, monte o socket do usuario, normalmente em $XDG_RUNTIME_DIR/docker.sock, e execute o container com o mesmo UID/GID desse usuario. Nao monte /var/run/docker.sock quando ele nao for o socket usado pelo Engine.
Em Swarm, use um servico global para executar uma instancia por no. A chave permanece a mesma para todos os nos que pertencem ao servico Docker.
docker secret create kmind_api_key ./kmind_api_key.txt
docker stack deploy -c docker-swarm.yaml kmindUse como base o arquivo deployments/docker-swarm.yaml do repositorio e crie o segredo antes do deploy. O volume de estado deve ser local a cada no.
Configuracao avancada
O agente le config.yaml e permite sobrescrever os principais valores por variaveis de ambiente. As variaveis tem precedencia sobre YAML, que tem precedencia sobre os valores padrao.
kmind:
apiKeyFile: /run/secrets/kmind_api_key
serviceName: docker-production
applicationName: infrastructure
endpoint: https://ingest.kmind.com.br
statusEndpoint: https://ingest.kmind.com.br/v1/agent/status
docker:
socket: unix:///var/run/docker.sock
apiVersion: auto
collection:
metricsInterval: 90s
diskUsageInterval: 15m
metadataRefreshInterval: 5m
limits:
memoryBufferBytes: 2097152
maxMemoryBufferBytes: 5242880
maxBatchBytes: 524288
requestTimeout: 5s
stateDir: /var/lib/kmind-agentKMIND_CONFIG_FILEaponta para um arquivo de configuracao alternativo.KMIND_API_KEY_FILEe preferivel aKMIND_API_KEY, pois evita expor a chave no ambiente.KMIND_COLLECTION_INTERVALeKMIND_DISK_USAGE_INTERVALajustam os intervalos quando essas fontes estiverem disponiveis.limitsprotege o host com limites de buffer, lote e timeout de rede.
Seguranca, validacao e suporte
O exemplo usa sistema de arquivos somente leitura, remove todas as capacidades Linux, ativa no-new-privileges, usa tmpfs e marca o proprio agente para nao ser monitorado.
Para verificar a instalacao, confirme que o container esta ativo e acompanhe os logs:
docker compose ps
docker compose logs --tail=100 kmind-agent-dockerUma falha de rede ou indisponibilidade do Kmind nao deve interromper os containers monitorados: o agente limita seus buffers e descarta telemetria quando necessario para preservar o host. Se houver erro de chave, socket ou ativacao, revise a configuracao sem compartilhar a chave com o suporte.
Disponibilidade atual
A liberacao estavel incluira descoberta de containers, metricas de CPU/memoria/rede/I-O, inventario de imagens e volumes, eventos Docker e logs stdout/stderr. Ate essa liberacao, use esta pagina apenas para preparar e validar o ambiente de homologacao.
