在您的InfluxDB集群中管理环境变量
使用环境变量为您的 InfluxDB 集群中的各个组件定义设置,并调整集群的运行配置。为您的 AppInstance 资源中的每个组件定义环境变量。
InfluxDB 集群组件支持各种环境变量。虽然许多这些变量有默认设置,但您可以通过设置自己的值来自定义它们。
覆盖默认设置可能会影响整体集群性能
InfluxDB 集群组件之间有复杂的相互作用,可能会受到覆盖默认配置设置的影响。 更改这些设置可能会影响整个集群的性能。 在使用环境变量进行配置更改之前,请考虑咨询 InfluxData Support 以识别任何潜在的意外后果。
AppInstance 组件架构
在你的 AppInstance 资源中,如果直接配置你的 AppInstance 资源,请在 spec.package.spec.components 属性中配置各个组件的设置,或者如果使用 Helm,请在你的 values.yaml 中使用 components 属性。此属性支持以下 InfluxDB 集群组件键:
ingesterquerierroutercompactorgarbage-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 存储引擎架构。
为组件设置环境变量
在特定组件属性下,使用
属性来定义环境变量。.template.containers.iox.env 在
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'将配置更改应用于您的集群,并在每个组件中添加或更新环境变量。
kubectl apply \ --filename myinfluxdb.yml \ --namespace influxdbhelm upgrade \ influxdata/influxdb3-clustered \ -f ./values.yml \ --namespace influxdb
更新环境变量而不是删除它们
大多数可以被环境变量覆盖的配置设置都有默认值,如果环境变量未设置,则使用这些默认值。 从您的 AppInstance 资源配置中删除环境变量不会完全删除这些环境变量;相反,它们将恢复为默认设置。 要恢复到默认设置,只需取消设置环境变量或将您的 AppInstance 资源中的值更新为默认值。
在前面的示例中,INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF 环境变量被设置为 6h。如果您从 env 属性中移除 INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF,截止时间将恢复为默认设置 30d。