Skip to content

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

License

Notifications You must be signed in to change notification settings

iblancasa/jaeger-operator

This branch is 314 commits behind jaegertracing/jaeger-operator:main.

Folders and files

NameName
Last commit message
Last commit date
Aug 25, 2022
Jul 13, 2023
Jul 4, 2023
Jul 20, 2023
Nov 17, 2021
Jul 20, 2023
Jul 4, 2023
Jun 26, 2023
Jul 20, 2023
Jul 4, 2023
Jul 12, 2023
Mar 24, 2022
Jul 12, 2023
Aug 18, 2022
Nov 17, 2021
May 30, 2022
Jun 15, 2023
Jul 20, 2023
Jul 20, 2023
Jun 23, 2022
Sep 19, 2019
Sep 19, 2019
Jun 15, 2023
Jun 15, 2023
Aug 31, 2018
Jul 4, 2023
Feb 1, 2022
Apr 13, 2022
Jun 9, 2022
Dec 14, 2021
Jul 27, 2023
Jul 27, 2023
Jan 24, 2023
Jan 24, 2023
Jul 4, 2023
Jul 4, 2023
Jul 4, 2023
Jul 4, 2023
Jul 4, 2023
Jul 4, 2023
Jul 4, 2023
Sep 3, 2018
Jul 20, 2023

Repository files navigation

Build Status Go Report Card Code Coverage GoDoc

Jaeger Operator for Kubernetes

The Jaeger Operator is an implementation of a Kubernetes Operator.

Getting started

Firstly, ensure an ingress-controller is deployed. When using minikube, you can use the ingress add-on: minikube start --addons=ingress

Then follow the Jaeger Operator installation instructions.

Once the jaeger-operator deployment in the namespace observability is ready, create a Jaeger instance, like:

kubectl apply -n observability -f - <<EOF
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: simplest
EOF

This will create a Jaeger instance named simplest. The Jaeger UI is served via the Ingress, like:

$ kubectl get -n observability ingress
NAME             HOSTS     ADDRESS          PORTS     AGE
simplest-query   *         192.168.122.34   80        3m

In this example, the Jaeger UI is available at http://192.168.122.34.

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

CRD-API documentation can be found here.

Compatibility matrix

See the compatibility matrix here.

Jaeger Operator vs. Jaeger

The Jaeger Operator follows the same versioning as the operand (Jaeger) up to the minor part of the version. For example, the Jaeger Operator v1.22.2 tracks Jaeger 1.22.0. The patch part of the version indicates the patch level of the operator itself, not that of Jaeger. Whenever a new patch version is released for Jaeger, we'll release a new patch version of the operator.

Jaeger Operator vs. Kubernetes

We strive to be compatible with the widest range of Kubernetes versions as possible, but some changes to Kubernetes itself require us to break compatibility with older Kubernetes versions, be it because of code imcompatibilities, or in the name of maintainability.

Our promise is that we'll follow what's common practice in the Kubernetes world and support N-2 versions, based on the release date of the Jaeger Operator.

For instance, when we released v1.22.0, the latest Kubernetes version was v1.20.5. As such, the minimum version of Kubernetes we support for Jaeger Operator v1.22.0 is v1.18 and we tested it with up to 1.20.

The Jaeger Operator might work on versions outside of the given range, but when opening new issues, please make sure to test your scenario on a supported version.

Jaeger Operator vs. Strimzi Operator

We maintain compatibility with a set of tested Strimzi operator versions, but some changes in Strimzi operator require us to break compatibility with older versions.

The jaeger Operator might work on other untested versions of Strimzi Operator, but when opening new issues, please make sure to test your scenario on a supported version.

(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 jaeger-test:

curl https://raw.githubusercontent.com/jaegertracing/jaeger-operator/main/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.

License

Apache 2.0 License.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 88.4%
  • Shell 8.9%
  • Makefile 2.3%
  • Dockerfile 0.4%