Skip to content

Latest commit

 

History

History
 
 

jaeger-operator

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

jaeger-operator

jaeger-operator is a Kubernetes operator.

Install

$ helm install jaegertracing/jaeger-operator

Introduction

This chart bootstraps a jaeger-operator deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.19+
  • Helm 3
  • cert-manager 1.6.1+ installed, or certificate for webhook service in a secret

Check compability matrix

See the compatibility matrix here.

Installing the Chart

Add the Jaeger Tracing Helm repository:

$ helm repo add jaegertracing https://jaegertracing.github.io/helm-charts

To install the chart with the release name my-release in observability namespace:

$ helm install my-release jaegertracing/jaeger-operator -n observability

The command deploys jaeger-operator on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the jaeger-operator chart and their default values.

Parameter Description Default
serviceExtraLabels Additional labels to jaeger-operator service {}
extraLabels Additional labels to jaeger-operator deployment {}
image.repository Controller container image repository jaegertracing/jaeger-operator
image.tag Controller container image tag 1.57.0
image.pullPolicy Controller container image pull policy IfNotPresent
jaeger.create Jaeger instance will be created false
jaeger.spec Jaeger instance specification {}
rbac.create All required roles and rolebindings will be created true
serviceAccount.create Service account to use true
rbac.pspEnabled Pod security policy for pod will be created and included in rbac role false
rbac.clusterRole ClusterRole will be used by operator ServiceAccount false
serviceAccount.name Service account name to use. If not set and create is true, a name is generated using the fullname template nil
extraArgs Additional command line arguments arguments passed to the operator {}
extraEnv Additional environment variables passed to the operator. For example: name: LOG-LEVEL value: debug []
replicaCount Desired number of operator pods 1
resources K8s pod resources None
nodeSelector Node labels for pod assignment {}
tolerations Toleration labels for pod assignment []
topologySpreadConstraints Topology Spread Constraints for pod assignment []
affinity Affinity settings for pod assignment {}
securityContext Security context for pod {}
containerSecurityContext Security context for the container {}
priorityClassName Priority class name for the pod None

Specify each parameter you'd like to override using a YAML file as described above in the installation section.

You can also specify any non-array parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install jaegertracing/jaeger-operator --name my-release \
    --set rbac.create=false

To install the chart without creating the CRDs (any files under chart/crds) make use of the --skip-crds flag. For example,

$ helm install jaegertracing/jaeger-operator --name my-release \
    --skip-crds

After the Helm Installation

Creating a new Jaeger instance

The simplest possible way to install is by creating a YAML file like the following:

apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: simplest

The YAML file can then be used with kubectl:

$ kubectl apply -f simplest.yaml

Creating a new Jaeger with ElasticSearch

To do that you need to have an ElasticSearch installed in your Kubernetes cluster or install one using the Helm Chart available for that.

After that just deploy the following manifest:

# setup an elasticsearch with `make es`
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: simple-prod
spec:
  strategy: production
  storage:
    type: elasticsearch
    options:
      es:
        server-urls: http://elasticsearch:9200
        username: elastic
        password: changeme

The YAML file can then be used with kubectl:

$ kubectl apply -f simple-prod.yaml