文档文档

在 InfluxDB 集群中管理环境变量

使用环境变量为 InfluxDB 集群中的各个组件定义设置,并调整集群的运行配置。为 AppInstance 资源中的每个组件定义环境变量。

InfluxDB Clustered 组件支持各种环境变量。虽然许多变量都有默认设置,但您可以通过设置自己的值来自定义它们。

覆盖默认设置可能会影响整体集群性能

InfluxDB Clustered 组件具有复杂的交互,当覆盖默认配置设置时可能会受到影响。更改这些设置可能会影响整体集群性能。在使用环境变量进行配置更改之前,请考虑咨询 InfluxData 支持,以确定任何潜在的意外后果。

AppInstance 组件模式

在您的 AppInstance 资源中,如果在直接配置 AppInstance 资源,请在 spec.package.spec.components 属性中配置各个组件设置;如果使用 Helm,请使用 values.yaml 中的 components 属性。此属性支持以下 InfluxDB Clustered 组件键

  • ingester
  • querier
  • router
  • compactor
  • garbage-collector
apiVersion: kubecfg.dev/v1alpha1
kind: AppInstance
metadata:
  name: influxdb
  namespace: influxdb
spec:
  package:
    # ...
    spec:
      components:
        ingester:
          # Ingester settings ...
        querier:
          # Querier settings ...
        router:
          # Router settings. ...
        compactor:
          # Compactor settings ...
        garbage-collector:
          # Garbage collector settings ...
# ...
components:
  ingester:
    # Ingester settings ...
  querier:
    # Querier settings ...
  router:
    # Router settings. ...
  compactor:
    # Compactor settings ...
  garbage-collector:
    # Garbage collector settings ...

有关 InfluxDB 3 存储引擎中组件的更多信息,请参阅 InfluxDB 3 存储引擎架构

为组件设置环境变量

  1. 在特定组件属性下,使用 <component>.template.containers.iox.env 属性定义环境变量。

  2. env 属性中,将每个环境变量构造为键值对,其中键是环境变量名称,值是环境变量值(字符串格式)。例如,要配置垃圾收集器的环境变量

    apiVersion: kubecfg.dev/v1alpha1
    kind: AppInstance
    metadata:
      name: influxdb
      namespace: influxdb
    spec:
      package:
        # ...
        spec:
          components:
            garbage-collector:
              template:
                containers:
                  iox:
                    env:
                      INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF: '6h'
                      INFLUXDB_IOX_GC_PARQUETFILE_CUTOFF: '6h'
    
    # ...
    components:
      garbage-collector:
        template:
          containers:
            iox:
              env:
                INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF: '6h'
                INFLUXDB_IOX_GC_PARQUETFILE_CUTOFF: '6h'
    
  3. 将配置更改应用到您的集群,并在每个组件中添加或更新环境变量。

    kubectl apply \
      --filename myinfluxdb.yml \
      --namespace influxdb
    
    helm upgrade \
      influxdata/influxdb3-clustered \
      -f ./values.yml \
      --namespace influxdb
    

更新环境变量而不是删除它们

大多数可以通过环境变量覆盖的配置设置都具有默认值,如果环境变量未设置,则使用这些默认值。从 AppInstance 资源配置中删除环境变量不会完全删除这些环境变量;相反,它们将恢复为默认设置。要恢复为默认设置,只需取消设置环境变量或在 AppInstance 资源中将值更新为默认值即可。

在前面的示例中,INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF 环境变量设置为 6h。如果从 env 属性中删除 INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF,则截止时间将恢复为其默认设置 30d

查看所有组件中的环境变量示例


此页内容对您有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对代码进行任何更改。

阅读更多

InfluxDB 3 开源版现已公开发布 Alpha 版本

InfluxDB 3 开源版现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个作为 Alpha 版本一部分的产品。

InfluxDB 3 Core 是我们新的开源产品。它是用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看