diff --git a/production/ksonnet/loki/config.libsonnet b/production/ksonnet/loki/config.libsonnet index c6c8dafc54..a8198016e3 100644 --- a/production/ksonnet/loki/config.libsonnet +++ b/production/ksonnet/loki/config.libsonnet @@ -87,7 +87,8 @@ schema_start_date: '2018-07-11', commonArgs: { - 'config.file': '/etc/loki/config.yaml', + 'config.file': '/etc/loki/config/config.yaml', + 'limits.per-user-override-config': '/etc/loki/overrides/overrides.yaml', }, loki: { diff --git a/production/ksonnet/loki/distributor.libsonnet b/production/ksonnet/loki/distributor.libsonnet index 9c0d20859e..4866821b56 100644 --- a/production/ksonnet/loki/distributor.libsonnet +++ b/production/ksonnet/loki/distributor.libsonnet @@ -23,7 +23,8 @@ distributor_deployment: deployment.new('distributor', 3, [$.distributor_container]) + $.config_hash_mixin + - $.util.configVolumeMount('loki', '/etc/loki') + + $.util.configVolumeMount('loki', '/etc/loki/config') + + $.util.configVolumeMount('overrides', '/etc/loki/overrides') + $.util.antiAffinity, distributor_service: diff --git a/production/ksonnet/loki/ingester.libsonnet b/production/ksonnet/loki/ingester.libsonnet index ab92f3ceee..193688e35a 100644 --- a/production/ksonnet/loki/ingester.libsonnet +++ b/production/ksonnet/loki/ingester.libsonnet @@ -22,7 +22,8 @@ ingester_deployment: deployment.new('ingester', 3, [$.ingester_container]) + $.config_hash_mixin + - $.util.configVolumeMount('loki', '/etc/loki') + + $.util.configVolumeMount('loki', '/etc/loki/config') + + $.util.configVolumeMount('overrides', '/etc/loki/overrides') + $.util.antiAffinity + deployment.mixin.spec.withMinReadySeconds(60) + deployment.mixin.spec.strategy.rollingUpdate.withMaxSurge(0) + diff --git a/production/ksonnet/loki/loki.libsonnet b/production/ksonnet/loki/loki.libsonnet index 7c87564aca..6cc7add7cd 100644 --- a/production/ksonnet/loki/loki.libsonnet +++ b/production/ksonnet/loki/loki.libsonnet @@ -3,6 +3,7 @@ (import 'images.libsonnet') + (import 'common.libsonnet') + (import 'config.libsonnet') + +(import 'overrides.libsonnet') + (import 'consul/consul.libsonnet') + // Loki services diff --git a/production/ksonnet/loki/overrides.libsonnet b/production/ksonnet/loki/overrides.libsonnet new file mode 100644 index 0000000000..85a891d02f --- /dev/null +++ b/production/ksonnet/loki/overrides.libsonnet @@ -0,0 +1,28 @@ +{ + _config+: { + overrides: { + // insert tenant overrides here. see https://github.com/grafana/loki/tree/master/docs/configuration#limits_config + // + // 'tenant_x': { + // ingestion_rate_strategy: 'global', + // ingestion_rate_mb: 12, + // ingestion_burst_size_mb: 20, + // max_line_size: 2048, + // split_queries_by_interval: '30m', + // max_concurrent_tail_requests: 10, + // max_query_parallelism: 32, + // }, + }, + }, + local configMap = $.core.v1.configMap, + + overrides_config: + configMap.new('overrides') + + configMap.withData({ + 'overrides.yaml': $.util.manifestYaml( + { + overrides: $._config.overrides, + } + ), + }), +} diff --git a/production/ksonnet/loki/querier.libsonnet b/production/ksonnet/loki/querier.libsonnet index 206b736438..cc05882e1a 100644 --- a/production/ksonnet/loki/querier.libsonnet +++ b/production/ksonnet/loki/querier.libsonnet @@ -20,7 +20,8 @@ querier_deployment: deployment.new('querier', 3, [$.querier_container]) + $.config_hash_mixin + - $.util.configVolumeMount('loki', '/etc/loki') + + $.util.configVolumeMount('loki', '/etc/loki/config') + + $.util.configVolumeMount('overrides', '/etc/loki/overrides') + $.util.antiAffinity, querier_service: diff --git a/production/ksonnet/loki/query-frontend.libsonnet b/production/ksonnet/loki/query-frontend.libsonnet index d1f8d56341..80d1a45d83 100644 --- a/production/ksonnet/loki/query-frontend.libsonnet +++ b/production/ksonnet/loki/query-frontend.libsonnet @@ -20,7 +20,8 @@ query_frontend_deployment: deployment.new('query-frontend', 2, [$.query_frontend_container]) + $.config_hash_mixin + - $.util.configVolumeMount('loki', '/etc/loki') + + $.util.configVolumeMount('loki', '/etc/loki/config') + + $.util.configVolumeMount('overrides', '/etc/loki/overrides') + $.util.antiAffinity, local service = $.core.v1.service, diff --git a/production/ksonnet/loki/table-manager.libsonnet b/production/ksonnet/loki/table-manager.libsonnet index 979678b7b4..488cf78bdd 100644 --- a/production/ksonnet/loki/table-manager.libsonnet +++ b/production/ksonnet/loki/table-manager.libsonnet @@ -18,7 +18,7 @@ table_manager_deployment: deployment.new('table-manager', 1, [$.table_manager_container]) + $.config_hash_mixin + - $.util.configVolumeMount('loki', '/etc/loki'), + $.util.configVolumeMount('loki', '/etc/loki/config'), table_manager_service: $.util.serviceFor($.table_manager_deployment),