**What this PR does / why we need it**:
Adds the new 3rd scalable deployment mode target (backend) to the helm
chart. This new target was added in #7650
This guide will walk you through migrating from the old, two target, scalable configuration to the new, three target, scalable configuration. This new configuration introduces a `backend` component, and reduces the `read` component to running just a `Querier` and `QueryFrontend`, allowing it to be run as a kubernetes `Deployment` rather than a `StatefulSet`.
**Before you begin:**
We recommend having a Grafana instance available to monitor both the existing and new clusters, to make sure there is no data loss during the migration process. The `loki` chart ships with self-monitoring features, including dashboards. These are useful for monitoring the health of the cluster during migration.
**To Migrate from a "read & write" to a "backend, read & write" deployment**
1. Make sure your deployment is using a new enough version of loki
This feature landed as an option in the helm chart while still in the `main` branch of Loki. As a result, depending on when you run this migration, you may neeed to manually override the Loki or GEL image being used to one that has the third, `backend` target available. For loki, add the following to your `values.yaml`.
```yaml
loki:
image:
repository: "grafana/loki"
tag: "main-f5fbfab-amd64"
```
For GEL, you'll need to add:
```yaml
enterprise:
image:
repository: "grafana/enterprise-logs"
tag: "main-96f32b9f"
```
1. Set the `legacyReadTarget` flag to false
Set the value `read.legacyReadTarget` to false. In your `values.yaml`, add:
```yaml
read:
legacyReadTarget: false
```
1. Upgrade the helm installation
Run `helm upgrade` on your installation with your updated `values.yaml` file.
<td>Storage class to be used. If defined, storageClassName: <storageClass>. If set to "-", storageClassName: "", which disables dynamic provisioning. If empty or set to null, no storageClassName spec is set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).</td>
<td><prelang="json">
null
</pre>
</td>
</tr>
<tr>
<td>backend.podAnnotations</td>
<td>object</td>
<td>Annotations for backend pods</td>
<td><prelang="json">
{}
</pre>
</td>
</tr>
<tr>
<td>backend.priorityClassName</td>
<td>string</td>
<td>The name of the PriorityClass for backend pods</td>
<td><prelang="json">
null
</pre>
</td>
</tr>
<tr>
<td>backend.replicas</td>
<td>int</td>
<td>Number of replicas for the backend</td>
<td><prelang="json">
3
</pre>
</td>
</tr>
<tr>
<td>backend.resources</td>
<td>object</td>
<td>Resource requests and limits for the backend</td>
<td><prelang="json">
{}
</pre>
</td>
</tr>
<tr>
<td>backend.selectorLabels</td>
<td>object</td>
<td>Additional selector labels for each `backend` pod</td>
<td><prelang="json">
{}
</pre>
</td>
</tr>
<tr>
<td>backend.serviceLabels</td>
<td>object</td>
<td>Labels for ingestor service</td>
<td><prelang="json">
{}
</pre>
</td>
</tr>
<tr>
<td>backend.targetModule</td>
<td>string</td>
<td>Comma-separated list of Loki modules to load for the read</td>
<td><prelang="json">
"backend"
</pre>
</td>
</tr>
<tr>
<td>backend.terminationGracePeriodSeconds</td>
<td>int</td>
<td>Grace period to allow the backend to shutdown before it is killed. Especially for the ingestor, this must be increased. It must be long enough so backends can be gracefully shutdown flushing/transferring all data and to successfully leave the member ring on shutdown.</td>
@ -11,13 +11,19 @@ Entries should be ordered as follows:
Entries should include a reference to the pull request that introduced the change.
## 3.8.2
## 3.10.0
- [CHANGE] Deprecate `enterprise.nginxConfig.file`. Both enterprise and gateway configurations now share the same nginx config. Admin routes will 404 on OSS deployments. Will be removed in version 4 of the chart, please use `gateway.nginxConfig.file` for both OSS and Enterprise gateways.
- [FEATURE] Added new simple deployment target `backend`. Running 3 targets for simple deployment will soon be the default in Loki. This new target allows the `read` target to be run as a deployment and auto-scaled.
- [FEATURE] Added `extraObjects` helm values to extra manifests.
## 3.9.0
- [BUGFIX] Fix race condition between minio create bucket job and enterprise tokengen job
## 3.8.2
- [FEATURE] Added `extraObjects` helm values to extra manifests.
## 3.8.1
- [ENHANCEMENT] Add the ability to specify container lifecycle