文档说明

管理InfluxDB集群中的环境变量

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

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

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

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

AppInstance组件模式

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

  • ingester
  • querier
  • router
  • compactor
  • 垃圾收集器
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 v3存储引擎组件的更多信息,请参阅InfluxDB v3存储引擎架构

为组件设置环境变量

  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 v3增强功能和InfluxDB Clustered现已上市

新功能包括更快的查询性能和管理工具,推动了InfluxDB v3产品线的进步。InfluxDB Clustered现已上市。

InfluxDB v3性能和功能

InfluxDB v3产品线在查询性能方面取得了显著提升,并提供了新的管理工具。这些增强功能包括用于监控InfluxDB集群健康的操作仪表板、InfluxDB云专用的单点登录(SSO)支持和新的令牌和数据库管理API。

了解新的v3增强功能


InfluxDB Clustered上市

InfluxDB Clustered现已上市,并为您在自行管理的堆栈中提供了InfluxDB v3的强大功能。

与我们讨论InfluxDB Clustered