菜单
开源

配置部署模式

Grafana Mimir 支持多种 部署模式。默认情况下,提供的 Jsonnet 部署在微服务模式下。Jsonnet 不支持单体模式。

使用读写部署模式

警告

读写部署模式是实验性的。

要求

读写部署模式要求您使用多区域 Ingester 和多区域 Store Gateway。此外,规则评估在 mimir-backend 中执行,因此您必须禁用 Ruler 远程评估。

您可以通过 deployment_mode 配置变量来设置部署模式

jsonnet
{
  _config+:: {
    deployment_mode: 'read-write',

    mimir_write_replicas: 15,
    mimir_read_replicas: 6,
    mimir_backend_replicas: 9,

    // Requirements.
    multi_zone_ingester_enabled: true,
    multi_zone_store_gateway_enabled: true,
    ruler_remote_evaluation_enabled: false,

    // Disable microservices autoscaling.
    autoscaling_querier_enabled: false,
    autoscaling_ruler_querier_enabled: false,
  }

}

您可以为读取路径配置自动伸缩

jsonnet
{
  _config+:: {
    autoscaling_mimir_read_enabled: true,
    autoscaling_mimir_read_min_replicas: 2,
    autoscaling_mimir_read_max_replicas: 20,
  }
}

读写组件的 CLI 标志继承自微服务。例如

jsonnet
{
  _config+:: {
    // This change also applies to mimir-backend.
    store_gateway_args+:: {
      'blocks-storage.bucket-store.sync-interval': '5m',
    },
  }
}

⚠️ 陷阱:Kubernetes 资源的覆盖项不会继承。如果您更改以下任何项,请记住将覆盖项同时应用于微服务和读写组件

  • 容器规范,例如环境变量
  • Deployment
  • StatefulSet
  • Service
  • PodDisruptionBudget

例如

jsonnet
{
  _config+:: {
    // This change will NOT be applied to mimir-write too.
    ingester_container+::
      container.withEnvMixin(
        [envVar.new('GOGC', '50')]
      ),

    mimir_write_container+::
      container.withEnvMixin(
        [envVar.new('GOGC', '50')]
      ),
  }
}