jaeger-operator

command module
v1.21.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2020 License: Apache-2.0 Imports: 1 Imported by: 0

README

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

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 cluster_role_binding.yaml if you are using a namespace other than observability. You probably also want to download and customize the operator.yaml, setting the env var WATCH_NAMESPACE to have an empty value, so that it can watch for instances across all namespaces.

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.

(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/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.

License

Apache 2.0 License.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
pkg
apis/jaegertracing/v1
Package v1 contains API Schema definitions for the jaegertracing v1 API group +k8s:deepcopy-gen=package,register +groupName=jaegertracing.io Package v1 contains API Schema definitions for the jaegertracing v1 API group +k8s:deepcopy-gen=package,register +groupName=jaegertracing.io
Package v1 contains API Schema definitions for the jaegertracing v1 API group +k8s:deepcopy-gen=package,register +groupName=jaegertracing.io Package v1 contains API Schema definitions for the jaegertracing v1 API group +k8s:deepcopy-gen=package,register +groupName=jaegertracing.io
apis/kafka
Package kafka contains kafka API versions.
Package kafka contains kafka API versions.
apis/kafka/v1beta1
Package v1beta1 contains API Schema definitions for the kafka v1beta1 API group +k8s:deepcopy-gen=package,register +groupName=kafka.strimzi.io Package v1beta1 contains API Schema definitions for the kafka v1beta1 API group +k8s:deepcopy-gen=package,register +groupName=kafka.strimzi.io
Package v1beta1 contains API Schema definitions for the kafka v1beta1 API group +k8s:deepcopy-gen=package,register +groupName=kafka.strimzi.io Package v1beta1 contains API Schema definitions for the kafka v1beta1 API group +k8s:deepcopy-gen=package,register +groupName=kafka.strimzi.io
client/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/versioned/typed/jaegertracing/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/versioned/typed/jaegertracing/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
storage/elasticsearch/v1
+k8s:deepcopy-gen=package +groupName=logging.openshift.io
+k8s:deepcopy-gen=package +groupName=logging.openshift.io
test
e2e

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL