2022-11-08 20:49:43 +00:00
# jaeger-operator
[jaeger-operator ](https://github.com/jaegertracing/jaeger-operator ) is a Kubernetes operator.
## Install
```console
$ helm install jaegertracing/jaeger-operator
```
## Introduction
This chart bootstraps a jaeger-operator deployment on a [Kubernetes ](http://kubernetes.io ) cluster using the [Helm ](https://helm.sh ) 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 ](./COMPATIBILITY.md ).
## Installing the Chart
Add the Jaeger Tracing Helm repository:
```console
$ helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
```
To install the chart with the release name `my-release` in `observability` namespace:
```console
$ helm install my-release jaegertracing/jaeger-operator -n observability
```
The command deploys jaeger-operator on the Kubernetes cluster in the default configuration. The [configuration ](#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:
```console
$ 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.
2023-04-20 18:11:05 +00:00
| 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` |
2023-05-24 17:11:41 +00:00
| `image.tag` | Controller container image tag | `1.45.0` |
2023-04-20 18:11:05 +00:00
| `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` |
| `extraEnv` | Additional environment variables passed to the operator. For example: name: LOG-LEVEL value: debug | `[]` |
| `resources` | K8s pod resources | `None` |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `tolerations` | Toleration labels 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` |
2022-11-08 20:49:43 +00:00
Specify each parameter you'd like to override using a YAML file as described above in the [installation ](#installing-the-chart ) section.
You can also specify any non-array parameter using the `--set key=value[,key=value]` argument to `helm install` . For example,
```console
$ 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,
```console
$ 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:
```YAML
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simplest
```
The YAML file can then be used with `kubectl` :
```console
$ 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 ](https://github.com/helm/charts/tree/master/incubator/elasticsearch ) available for that.
After that just deploy the following manifest:
```YAML
# 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` :
```console
$ kubectl apply -f simple-prod.yaml
```