@@ -32,15 +32,22 @@ potential unintended consequences.
32
32
## AppInstance component schema
33
33
34
34
In your ` AppInstance ` resource, configure individual component settings in the
35
- ` spec.package.spec.components ` property. This property supports the following
36
- InfluxDB Clustered component keys:
35
+ ` spec.package.spec.components ` property if configuring your ` AppInstance ` resource
36
+ directly or, if using Helm, use the ` components ` property in your ` values.yaml ` .
37
+ This property supports the following InfluxDB Clustered component keys:
37
38
38
39
- ` ingester `
39
40
- ` querier `
40
41
- ` router `
41
42
- ` compactor `
42
43
- ` garbage-collector `
43
44
45
+ {{< code-tabs-wrapper >}}
46
+ {{% code-tabs %}}
47
+ [ AppInstance] ( # )
48
+ [ Helm] ( # )
49
+ {{% /code-tabs %}}
50
+ {{% code-tab-content %}}
44
51
``` yaml
45
52
apiVersion : kubecfg.dev/v1alpha1
46
53
kind : AppInstance
63
70
garbage-collector :
64
71
# Garbage collector settings ...
65
72
```
73
+ {{% /code-tab-content %}}
74
+ {{% code-tab-content %}}
75
+ ``` yaml
76
+ # ...
77
+ components :
78
+ ingester :
79
+ # Ingester settings ...
80
+ querier :
81
+ # Querier settings ...
82
+ router :
83
+ # Router settings. ...
84
+ compactor :
85
+ # Compactor settings ...
86
+ garbage-collector :
87
+ # Garbage collector settings ...
88
+ ```
89
+ {{% /code-tab-content %}}
90
+ {{< /code-tabs-wrapper >}}
66
91
67
92
_ For more information about components in the InfluxDB v3 storage engine, see
68
93
the [ InfluxDB v3 storage engine architecture] ( /influxdb/clustered/reference/internals/storage-engine/ ) ._
@@ -72,39 +97,81 @@ the [InfluxDB v3 storage engine architecture](/influxdb/clustered/reference/inte
72
97
1 . Under the specific component property, use the
73
98
` <component>.template.containers.iox.env ` property to define environment
74
99
variables.
75
- 2 . In the ` env ` property, structure each environment variable as a key-value pair.
100
+ 2 . In the ` env ` property, structure each environment variable as a key-value
101
+ pair where the key is the environment variable name and the value is the
102
+ environment variable value (string-formatted).
76
103
For example, to configure environment variables for the Garbage collector:
77
104
78
- ``` yaml
79
- apiVersion : kubecfg.dev/v1alpha1
80
- kind : AppInstance
81
- metadata :
82
- name : influxdb
83
- namespace : influxdb
105
+ {{< code-tabs-wrapper >}}
106
+ {{% code-tabs %}}
107
+ [ AppInstance] ( # )
108
+ [ Helm] ( # )
109
+ {{% /code-tabs %}}
110
+ {{% code-tab-content %}}
111
+ ``` yaml
112
+ apiVersion : kubecfg.dev/v1alpha1
113
+ kind : AppInstance
114
+ metadata :
115
+ name : influxdb
116
+ namespace : influxdb
117
+ spec :
118
+ package :
119
+ # ...
84
120
spec :
85
- package :
86
- # ...
87
- spec :
88
- components :
89
- garbage-collector :
90
- template :
91
- containers :
92
- iox :
93
- env :
94
- INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF : ' 6h'
95
- INFLUXDB_IOX_GC_PARQUETFILE_CUTOFF : ' 6h'
96
- ` ` `
97
-
98
- 3. Use ` kubectl apply` to apply the configuration changes to your cluster and
99
- add or update environment variables in each component.
100
-
101
- <!-- pytest.mark.skip -->
102
-
103
- ` ` ` bash
104
- kubectl apply \
105
- --filename myinfluxdb.yml \
106
- --namespace influxdb
107
- ` ` `
121
+ components :
122
+ garbage-collector :
123
+ template :
124
+ containers :
125
+ iox :
126
+ env :
127
+ INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF : ' 6h'
128
+ INFLUXDB_IOX_GC_PARQUETFILE_CUTOFF : ' 6h'
129
+ ` ` `
130
+ {{% /code-tab-content %}}
131
+ {{% code-tab-content %}}
132
+ ` ` ` yaml
133
+ # ...
134
+ components :
135
+ garbage-collector :
136
+ template :
137
+ containers :
138
+ iox :
139
+ env :
140
+ INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF : ' 6h'
141
+ INFLUXDB_IOX_GC_PARQUETFILE_CUTOFF : ' 6h'
142
+ ` ` `
143
+ {{% /code-tab-content %}}
144
+ {{< /code-tabs-wrapper >}}
145
+
146
+ 3. Apply the configuration changes to your cluster and add or update
147
+ environment variables in each component.
148
+
149
+ {{< code-tabs-wrapper >}}
150
+ {{% code-tabs %}}
151
+ [AppInstance](#)
152
+ [Helm](#)
153
+ {{% /code-tabs %}}
154
+ {{% code-tab-content %}}
155
+ <!-- pytest.mark.skip -->
156
+
157
+ ` ` ` bash
158
+ kubectl apply \
159
+ --filename myinfluxdb.yml \
160
+ --namespace influxdb
161
+ ```
162
+ {{% /code-tab-content %}}
163
+ {{% code-tab-content %}}
164
+ <!-- pytest.mark.skip -->
165
+
166
+ ``` bash
167
+ helm upgrade \
168
+ influxdata/influxdb3-clustered \
169
+ -f ./values.yml \
170
+ --namespace influxdb
171
+ ```
172
+ {{% /code-tab-content %}}
173
+ {{< /code-tabs-wrapper >}}
174
+
108
175
{{% note %}}
109
176
#### Update environment variables instead of removing them
110
177
@@ -124,6 +191,12 @@ the `env` property, the cutoff reverts to its default setting of `30d`.
124
191
{{< expand-wrapper >}}
125
192
{{% expand "View example of environment variables in all components" %}}
126
193
194
+ {{< code-tabs-wrapper >}}
195
+ {{% code-tabs %}}
196
+ [ AppInstance] ( # )
197
+ [ Helm] ( # )
198
+ {{% /code-tabs %}}
199
+ {{% code-tab-content %}}
127
200
``` yaml
128
201
apiVersion : kubecfg.dev/v1alpha1
129
202
kind : AppInstance
@@ -135,37 +208,77 @@ spec:
135
208
# ...
136
209
spec :
137
210
components :
138
- ingester:
139
- template:
140
- containers:
141
- iox:
142
- env:
143
- INFLUXDB_IOX_WAL_ROTATION_PERIOD_SECONDS: '360'
144
- querier:
145
- template:
146
- containers:
147
- iox:
148
- env:
149
- INFLUXDB_IOX_EXEC_MEM_POOL_BYTES: '10737418240' # 10GiB
150
- router:
151
- template:
152
- containers:
153
- iox:
154
- env:
155
- INFLUXDB_IOX_MAX_HTTP_REQUESTS: '5000'
156
- compactor:
157
- template:
158
- containers:
159
- iox:
160
- env:
161
- INFLUXDB_IOX_EXEC_MEM_POOL_PERCENT: '80'
162
- garbage-collector:
163
- template:
164
- containers:
165
- iox:
166
- env:
167
- INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF: '6h'
168
- INFLUXDB_IOX_GC_PARQUETFILE_CUTOFF: '6h'
211
+ ingester :
212
+ template :
213
+ containers :
214
+ iox :
215
+ env :
216
+ INFLUXDB_IOX_WAL_ROTATION_PERIOD_SECONDS : ' 360'
217
+ querier :
218
+ template :
219
+ containers :
220
+ iox :
221
+ env :
222
+ INFLUXDB_IOX_EXEC_MEM_POOL_BYTES : ' 10737418240' # 10GiB
223
+ router :
224
+ template :
225
+ containers :
226
+ iox :
227
+ env :
228
+ INFLUXDB_IOX_MAX_HTTP_REQUESTS : ' 5000'
229
+ compactor :
230
+ template :
231
+ containers :
232
+ iox :
233
+ env :
234
+ INFLUXDB_IOX_EXEC_MEM_POOL_PERCENT : ' 80'
235
+ garbage-collector :
236
+ template :
237
+ containers :
238
+ iox :
239
+ env :
240
+ INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF : ' 6h'
241
+ INFLUXDB_IOX_GC_PARQUETFILE_CUTOFF : ' 6h'
169
242
` ` `
243
+ {{% /code-tab-content %}}
244
+ {{% code-tab-content %}}
245
+ ` ` ` yaml
246
+ # ...
247
+ components :
248
+ ingester :
249
+ template :
250
+ containers :
251
+ iox :
252
+ env :
253
+ INFLUXDB_IOX_WAL_ROTATION_PERIOD_SECONDS : ' 360'
254
+ querier :
255
+ template :
256
+ containers :
257
+ iox :
258
+ env :
259
+ INFLUXDB_IOX_EXEC_MEM_POOL_BYTES : ' 10737418240' # 10GiB
260
+ router :
261
+ template :
262
+ containers :
263
+ iox :
264
+ env :
265
+ INFLUXDB_IOX_MAX_HTTP_REQUESTS : ' 5000'
266
+ compactor :
267
+ template :
268
+ containers :
269
+ iox :
270
+ env :
271
+ INFLUXDB_IOX_EXEC_MEM_POOL_PERCENT : ' 80'
272
+ garbage-collector :
273
+ template :
274
+ containers :
275
+ iox :
276
+ env :
277
+ INFLUXDB_IOX_GC_OBJECTSTORE_CUTOFF : ' 6h'
278
+ INFLUXDB_IOX_GC_PARQUETFILE_CUTOFF : ' 6h'
279
+ ` ` `
280
+ {{% /code-tab-content %}}
281
+ {{< /code-tabs-wrapper >}}
282
+
170
283
{{% /expand %}}
171
284
{{< /expand-wrapper >}}
0 commit comments