SigNoz
Docs
PricingCustomers
Get Started - Free
Docs
IntroductionContributingMigrate from DatadogSigNoz API
OpenTelemetry
What is OpenTelemetryOpenTelemetry Collector GuideOpenTelemetry Demo
Community
Support
Slack
X
Launch Week
Changelog
Dashboard Templates
DevOps Wordle
Newsletter
KubeCon, Atlanta 2025
More
SigNoz vs DatadogSigNoz vs New RelicSigNoz vs GrafanaSigNoz vs Dynatrace
Careers
AboutTermsPrivacySecurity & Compliance
SigNoz Logo
SigNoz
All systems operational
HIPAASOC-2
SigNoz Cloud - This page applies to SigNoz Cloud editions.
Self-Host - This page applies to self-hosted SigNoz editions.

K8s Infra - Install

K8s-Infra is a set of observability components that help you monitor and gain insights into your Kubernetes clusters. This guide will walk you through the steps to deploy K8s-Infra using the official Helm Chart provided by SigNoz. By following these instructions, you'll be able to collect metrics, logs, and traces from your Kubernetes workloads and send them to your SigNoz backend for analysis.

To add the SigNoz Helm repository to your helm client, run the following command:

helm repo add signoz https://charts.signoz.io

If the chart is already present, update the chart to the latest version:

helm repo update

Based on how you are running SigNoz (e.g. SigNoz Cloud, in an independent VM or Kubernetes cluster), you have to provide the address to send data from the above receivers.

For generic Kubernetes clusters, you can use the following configuration:

override-values.yaml

global:
  cloud: others
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: https://ingest.{region}.signoz.cloud:443
otelInsecure: false
signozApiKey: <your-ingestion-key>
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false

For AWS Elastic Kubernetes Service (EKS), you can use the following configuration:

override-values.yaml

global:
  cloud: aws
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: https://ingest.{region}.signoz.cloud:443
otelInsecure: false
signozApiKey: <your-ingestion-key>
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - eks
      - system

For Google Kubernetes Engine (GKE) Standard, you can use the following configuration:

override-values.yaml

global:
  cloud: gcp
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: https://ingest.{region}.signoz.cloud:443
otelInsecure: false
signozApiKey: <your-ingestion-key>
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - gcp
      - system

For Google Kubernetes Engine (GKE) Autopilot, you can use the following configuration:

override-values.yaml

global:
  cloud: gcp/autogke
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: https://ingest.{region}.signoz.cloud:443
otelInsecure: false
signozApiKey: <your-ingestion-key>
presets:
  kubeletMetrics:
    authType: none
    endpoint: ${K8S_NODE_NAME}:10255
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - gcp
      - system

For Azure Kubernetes Service (AKS), you can use the following configuration:

override-values.yaml

global:
  cloud: aks
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: https://ingest.{region}.signoz.cloud:443
otelInsecure: false
signozApiKey: <your-ingestion-key>
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - azure
      - system

For Kubernetes clusters with Windows hosts, you can use the following configuration:

override-values.yaml

global:
  cloud: aws
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: https://ingest.{region}.signoz.cloud:443
otelInsecure: false
signozApiKey: <your-ingestion-key>
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - eks
      - system
  hostMetrics:
    # Root path configuration is only required for Linux environments.
    # On Windows, this must be set to empty string to prevent installation failures.
    root_path: ""
otelAgent:
  # Use Windows-compatible OpenTelemetry Collector Contrib images for Windows hosts
  image:
    tag: 0.123.0-windows-2022-amd64
otelDeployment:
  # Use Windows-compatible OpenTelemetry Collector Contrib images for Windows hosts
  image:
    tag: 0.123.0-windows-2022-amd64

Replace the placeholders with values for your environment:

  • <region>: Your SigNoz Cloud region.
  • <your-ingestion-key>: Your SigNoz Cloud ingestion key.
  • <CLUSTER_NAME>: The name of the Kubernetes cluster, or a unique identifier for it.
  • <DEPLOYMENT_ENVIRONMENT>: Your deployment environment (for example, staging or production).

For generic Kubernetes clusters, you can use the following configuration:

override-values.yaml

global:
  cloud: others
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: http://<IP-or-Endpoint-of-SigNoz-OtelCollector>:4318
otelInsecure: true
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false

For AWS Elastic Kubernetes Service (EKS), you can use the following configuration:

override-values.yaml

global:
  cloud: aws
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: http://<IP-or-Endpoint-of-SigNoz-OtelCollector>:4318
otelInsecure: true
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - eks
      - system

For Google Kubernetes Engine (GKE) Standard, you can use the following configuration:

override-values.yaml

global:
  cloud: gcp
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: http://<IP-or-Endpoint-of-SigNoz-OtelCollector>:4318
otelInsecure: true
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - gcp
      - system

For Google Kubernetes Engine (GKE) Autopilot, you can use the following configuration:

override-values.yaml

global:
  cloud: gcp/autogke
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: http://<IP-or-Endpoint-of-SigNoz-OtelCollector>:4318
otelInsecure: true
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  kubeletMetrics:
    authType: none
    endpoint: ${K8S_NODE_NAME}:10255
  resourceDetection:
    detectors:
      - gcp
      - system

For Kubernetes clusters with Windows hosts, you can use the following configuration:

override-values.yaml

global:
  cloud: aks
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: http://<IP-or-Endpoint-of-SigNoz-OtelCollector>:4318
otelInsecure: true
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - azure
      - system
  hostMetrics:
    # Root path configuration is only required for Linux environments.
    # On Windows, this must be set to empty string to prevent installation failures.
    root_path: ""
otelAgent:
  # Use Windows-compatible OpenTelemetry Collector Contrib images for Windows hosts
  image:
    tag: 0.123.0-windows-2022-amd64
otelDeployment:
  # Use Windows-compatible OpenTelemetry Collector Contrib images for Windows hosts
  image:
    tag: 0.123.0-windows-2022-amd64

For Azure Kubernetes Service (AKS), you can use the following configuration:

override-values.yaml

global:
  cloud: aks
  clusterName: <CLUSTER_NAME>
  deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: http://<IP-or-Endpoint-of-SigNoz-OtelCollector>:4318
otelInsecure: true
presets:
  otlphttpExporter:
    enabled: true
  loggingExporter:
    enabled: false
  resourceDetection:
    detectors:
      - azure
      - system
  • Replace <CLUSTER_NAME> with the name of the Kubernetes cluster or a unique identifier of the cluster.
  • Replace <DEPLOYMENT_ENVIRONMENT> with the deployment environment of your application. Example: "staging", "production", etc.
  • If the OtelCollector endpoint is secured, you would have to disable otelInsecure configuration and often make other changes such as including either config or path to the TLS certificate and private key.

To install the k8s-infra chart with the above configuration, run the following command:

helm install my-release signoz/k8s-infra -f override-values.yaml

Video Walkthrough

If you are someone who understands things better through video implementation, here is a video to help you. Check it out:

OpenTelemetry Kubernetes Tutorial: Deploy, Configure, and Scale with SigNoz Agents

Next Steps

  • Configure K8s-Infra OtelCollectors
  • Learn more about K8s-Infra
  • Monitor Multiple K8S Clusters
  • Telemetry Data Requirements for Infrastructure Monitoring
  • Collector Configuration Best Practices

Last updated: May 13, 2026

Edit on GitHub

Was this page helpful?

Your response helps us improve this page.

Prev
Overview
Next
Configure K8s Infra
On this page
Video Walkthrough
Next Steps

Is this page helpful?

Your response helps us improve this page.