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
Self-Host - This page applies to self-hosted SigNoz editions.

Deploying to Local Kubernetes

Choose SigNoz Cloud for ease, or self-host for controlโ€”with the freedom to switch as your needs grow.

Prerequisites

  • Kubernetes version >= 1.22
  • Currently supports x86-64, amd64 and arm64 architectures
  • Helm version >= 3.8
  • You must have kubectl access to your cluster
  • The following table describes the hardware requirements that are needed to install SigNoz on Kubernetes:

    ComponentMinimal RequirementsRecommended
    Memory8 GB16 GB
    CPU4 cores8 cores
    Storage30 GB80 GB

Set up a Local Kubernetes Cluster

Choose one of the following options to set up your local Kubernetes cluster:

  • Follow the official Minikube installation guide
  • Recommended configuration for SigNoz:
    minikube start --memory=8g --cpus=4
    
  • Follow the official Kind installation guide
  • Recommended configuration for SigNoz as values.yaml:
    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes:
    - role: control-plane
      extraPortMappings:
      - containerPort: 8080
        hostPort: 8080
    
  • Run the Following command to spin up the k3s cluster:
kind create cluster --config values.yaml -n <NAMESPACE>
  • Follow the official K3s installation guide

You can also use k3d to spin up a k3s cluster. k3d is a lightweight wrapper to run k3s in Docker, making it easier to create and manage k3s clusters. It's particularly useful for development and testing purposes as it provides a quick way to spin up disposable k3s clusters. The installation process remains the same as with a regular k3s cluster.

  • For spining up a cluster use following command:
k3d cluster create 

Install SigNoz

Helm Installation

The SigNoz Helm chart will install the following components into your Kubernetes cluster:

  • SigNoz
  • SigNoz Collector
  • Clickhouse
  • Zookeeper
  1. Find a storage class to use in your cluster:

    kubectl get storageclass
  2. Create a values.yaml file that will contain the configuration for the chart. Here is a minimal example to get started:

    global:
      storageClass: <storage-class>
    
    clickhouse:
      installCustomStorageClass: true

    You can find an exhaustive list of the parameters here.

  3. Install SigNoz:

    helm repo add signoz https://charts.signoz.io
    helm repo update
    helm install signoz signoz/signoz \
       --namespace <namespace> --create-namespace \
       --wait \
       --timeout 1h \
       -f values.yaml

Test the installation

  1. In another terminal, port-forward signoz on its http port. (By default, signoz exposes its http server on port 8080.)

    kubectl port-forward -n <namespace> svc/signoz 8080:8080
  2. Run the following command to check the health of signoz:

    curl -X GET http://localhost:8080/api/v1/health
  3. If the installation is successful, you should see the following output:

    {"status":"ok"}

By default, retention period is set to 7 days for logs and traces, and 30 days for metrics. To change this, navigate to the General tab on the Settings page of SigNoz UI.

For more details, refer to the retention period guide.

(Optional) Install OpenTelemetry Demo

The OpenTelemetry Demo is a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment. See more details at OpenTelemetry Demo.

  1. Get the address of the SigNoz collector:

    kubectl get -n <namespace> svc/signoz-otel-collector

    This value will be used in the next step to configure the OpenTelemetry Demo to send data to the SigNoz collector.

  2. Create a values.yaml file that will contain the configuration for the chart and send it to your SigNoz installation:

    default:
      env:
        - name: OTEL_SERVICE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: "metadata.labels['app.kubernetes.io/component']"
        - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
          value: cumulative
        - name: OTEL_RESOURCE_ATTRIBUTES
          value: 'service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version={{ .Chart.appVersion }}'
        - name: OTEL_COLLECTOR_NAME
          value: signoz-otel-collector.<namespace>.svc.cluster.local

    Note: The OTEL_COLLECTOR_NAME is the address obtained in the previous step.

  3. Install OpenTelemetry Demo:

    helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
    helm repo update
    helm install otel-demo open-telemetry/opentelemetry-demo -f values.yaml

    More details on the installation can be found here.

Next Steps

  • Collect Telemetry from your K8s Clusters
  • Use OpenTelemetry Operator for automatic instrumentation

Last updated: April 30, 2025

Edit on GitHub

Was this page helpful?

Your response helps us improve this page.

Prev
Other Platform
Next
Deploying with ArgoCD
On this page
Prerequisites
Set up a Local Kubernetes Cluster
Install SigNoz
(Optional) Install OpenTelemetry Demo
Next Steps

Is this page helpful?

Your response helps us improve this page.