Configure storage
The scalable installation requires a managed object store such as AWS S3 or Google Cloud Storage or a self-hosted store such as Minio. The single binary installation can use the filesystem for storage, but we recommend configuring object storage via cloud provider or pointing Loki at a MinIO cluster for production deployments.
This guide assumes Loki will be installed in one of the modes above and that a values.yaml
has been created.
To use a managed object store:
In the
values.yaml
file, set the value forstorage.type
toazure
,gcs
, ors3
.Configure the storage client under
loki.storage.azure
,loki.storage.gcs
, orloki.storage.s3
.
To install Minio alongside Loki:
Change the configuration in
values.yaml
:- Enable Minio
minio: enabled: true
To grant access to S3 via an IAM role without providing credentials:
Provision an IAM role, policy and S3 bucket as described in Storage.
- If the Terraform module was used note the annotation emitted by
terraform output -raw annotation
.
- If the Terraform module was used note the annotation emitted by
Add the IAM role annotation to the service account in
values.yaml
:serviceAccount: annotations: "eks.amazonaws.com/role-arn": "arn:aws:iam::<account id>:role/<role name>"
Configure the storage:
loki: storage: type: "s3" s3: region: eu-central-1 bucketNames: chunks: <bucket name> ruler: <bucket name> admin: <bucket name>
Note that
endpoint
,secretAccessKey
andaccessKeyId
have been omitted.