by jaegertracing

jaegertracing /jaeger-operator

Jaeger Operator for Kubernetes simplifies deploying and running Jaeger on Kubernetes.

517 Stars 150 Forks Last release: about 1 month ago (v1.19.0) Apache License 2.0 581 Commits 78 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Build Status Go Report Card Code Coverage GoDoc

Jaeger Operator for Kubernetes

The Jaeger Operator is an implementation of a Kubernetes Operator.

Getting started

To install the operator, run:

kubectl create namespace observability
kubectl create -n observability -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/crds/jaegertracing.io_jaegers_crd.yaml
kubectl create -n observability -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/service_account.yaml
kubectl create -n observability -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/role.yaml
kubectl create -n observability -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/role_binding.yaml
kubectl create -n observability -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/operator.yaml

The operator will activate extra features if given cluster-wide permissions. To enable that, run:

kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/cluster_role.yaml
kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/cluster_role_binding.yaml

Note that you'll need to download and customize the

if you are using a namespace other than
. You probably also want to download and customize the
, setting the env var
to have an empty value, so that it can watch for instances across all namespaces.

Once the

deployment in the namespace
is ready, create a Jaeger instance, like:
kubectl apply -n observability -f - <

This will create a Jaeger instance named

. The Jaeger UI is served via the
, like:
$ kubectl get ingress
NAME             HOSTS     ADDRESS          PORTS     AGE
simplest-query   *   80        3m

In this example, the Jaeger UI is available at

The official documentation for the Jaeger Operator, including all its customization options, are available under the main Jaeger Documentation.

(experimental) Generate Kubernetes manifest file

Sometimes it is preferable to generate plain manifests files instead of running an operator in a cluster.

jaeger-operator generate
generates kubernetes manifests from a given CR. In this example we apply the manifest generated by examples/simplest.yaml to the namespace
curl https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/examples/simplest.yaml | docker run -i --rm jaegertracing/jaeger-operator:master generate | kubectl apply -n jaeger-test -f -

It is recommended to deploy the operator instead of generating a static manifest.

Contributing and Developing

Please see CONTRIBUTING.md.


Apache 2.0 License.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.