A integração do Kubernetes da New Relic é executada em modo privilegiado por padrão, permitindo que o agente de infraestrutura (executado como um sidecar do DaemonSet) acesse diretamente as informações do host subjacente.
Embora isso forneça a telemetria mais completa, algumas políticas de segurança (como Pod Security Standards ou OpenShift SCCs) podem exigir que você execute cargas de trabalho em modo não privilegiado.
Por que o modo privilegiado é necessário
O agente de infraestrutura do New Relic está incluído no pod do Kubelet e requer acesso de baixo nível ao sistema operacional do nó para coletar métricas detalhadas do sistema.
Embora o valor padrão para privileged na biblioteca comum seja false, este chart o define como true por padrão (consulte values.yaml) para garantir que o agente possa:
- Leia os sistemas de arquivos
/proce/sysdo host. - Colete estatísticas precisas de CPU, memória, armazenamento e rede para o host subjacente.
- Colete listas completas de processos e metadados que correlacionam a integridade da infraestrutura com seus objetos Kubernetes.
Executando em modo não privilegiado
Se a política de segurança do seu cluster não permitir privileged no contexto de segurança dos seus pods, você pode desabilitá-lo definindo privileged como false.
Impacto na coleta de dados
Importante
Desabilitar o modo privilegiado resultará na perda de métricas de nível de host e metadados.
Quando não privilegiado, o Agente de Infraestrutura não consegue ver o uso de recursos do host. Você perderá o acesso às métricas de host padrão, incluindo:
- SystemSample: CPU, memória e médias de carga no nível do host.
- StorageSample: Uso de disco e E/S para o sistema de arquivos do nó.
- NetworkSample: Estatísticas de interface de rede física.
- ProcessSample: Dados sobre processos em execução fora do contêiner do New Relic.
Para obter uma lista detalhada de exatamente quais atributos e métricas estão indisponíveis no modo não privilegiado, consulte a documentação dos modos de execução do agente Linux.
Como configurá-lo
Atualize seu arquivo de valores personalizados para definir a flag global privilegiada como false:
global: privileged: falseWindows em modo não privilegiado
Contêineres Windows padrão não podem acessar diretamente a infraestrutura do host devido ao isolamento do contêiner. Os contêineres HostProcess poderiam fornecer esse acesso, mas introduzem riscos de segurança adicionais e não são usados atualmente pela integração do New Relic com Kubernetes. Portanto, os DaemonSets do Windows são executados apenas em modo não privilegiado; o modo privilegiado não é suportado para nós Windows.
Para mais detalhes sobre quais métricas são coletadas neste modo, consulte Limitações da integração do Kubernetes para Windows.