Skip to content

Commit 099504e

Browse files
andy-stark-rediskaitlynmichael
authored andcommitted
DOC-4367 updated install guide and added release notes
1 parent d307025 commit 099504e

File tree

2 files changed

+360
-14
lines changed

2 files changed

+360
-14
lines changed

content/integrate/redis-data-integration/installation/install-k8s.md

Lines changed: 319 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,33 +44,32 @@ You can pull the RDI images from
4444

4545
Complete the following steps before running Helm:
4646

47-
- Create the RDI database on your Redis Enterprise cluster.
47+
- [Create the RDI database](#create-the-rdi-database) on your Redis Enterprise cluster.
4848
- Create a [user]({{< relref "/operate/rs/security/access-control/create-users" >}})
4949
for the RDI database if you prefer not to use the default password (see
5050
[Access control]({{< relref "/operate/rs/security/access-control" >}}) for
5151
more information).
52-
- Download the RDI helm chart tar file from the [download center](https://cloud.redis.io/#/rlec-downloads).
52+
- Download the RDI helm chart tar file from the [download center](https://cloud.redis.io/#rlec-downloads).
53+
- If you want to use a private image registry,
54+
[prepare it with the RDI images](#using-a-private-image-registry).
5355

5456
### Create the RDI database
5557

5658
RDI uses a database on your Redis Enterprise cluster to store its state
5759
information. *This requires Redis Enterprise v6.4 or greater*.
5860

59-
Before installing RDI:
60-
61-
- Use the Redis console to create a database with 250MB RAM with 1 primary and 1 replica.
61+
- Use the Redis console to create a database with 250MB RAM with one primary and one replica.
6262
- If you are deploying RDI for a production environment then secure this database with a password
6363
and [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security).
6464

65-
You should then provide the details of this database in [the `values.yaml` file](#the-valuesyaml-file),
66-
as described below.
65+
You should then provide the details of this database in the [`values.yaml`](#the-valuesyaml-file)
66+
file as described below.
6767

6868
### Using a private image registry
6969

7070
Add the RDI images from [Docker Hub](https://hub.docker.com/) to your local registry.
7171
The example below shows how to specify the registry and image pull secret in the
72-
[`values.yaml`](https://helm.sh/docs/topics/charts/#templates-and-values) file for the
73-
Helm chart:
72+
[`values.yaml`](#the-valuesyaml-file) file for the Helm chart:
7473

7574
```yaml
7675
global:
@@ -113,10 +112,316 @@ To pull images from a local registry, you must provide the image pull secret and
113112

114113
### The `values.yaml` file
115114

116-
The annotated `values.yaml` file below describes the values you can set
117-
for the RDI Helm installation:
115+
The annotated [`values.yaml`](https://helm.sh/docs/topics/charts/#templates-and-values)
116+
file below describes the values you can set for the RDI Helm installation:
118117

119118
```yaml
119+
# Default RDI values in YAML format.
120+
# Variables to template configuration.
121+
122+
global:
123+
# Set this property when using a private image repository.
124+
# Provide an array of image pull secrets.
125+
# Example:
126+
# imagePullSecrets:
127+
# - name: pullSecret1
128+
# - name: pullSecret2
129+
imagePullSecrets:
130+
- name: docker-config-jfrog
131+
132+
# DO NOT modify this value.
133+
vmMode: false
134+
135+
# Indicates whether the deployment is intended for an OpenShift environment.
136+
openShift: false
137+
138+
image:
139+
# Overrides the image tag for all RDI components.
140+
tag: 0.0.0
141+
142+
# If using a private repository, update the default values accordingly.
143+
# Docker registry.
144+
registry: docker.io
145+
146+
# Docker image repository.
147+
repository: redis
148+
149+
# Configuration for the RDI ConfigMap.
150+
rdiSysConfig:
151+
# Log level for all RDI components. Valid options: DEBUG, INFO, ERROR.
152+
# If specific component log levels are not set, this value will be used.
153+
RDI_LOG_LEVEL: INFO
154+
155+
# Log level for the RDI API. Valid options: DEBUG, INFO, ERROR.
156+
# If not set, RDI_LOG_LEVEL will be used.
157+
# RDI_LOG_LEVEL_API: INFO
158+
159+
# Log level for the RDI Operator. Valid options: DEBUG, INFO, ERROR.
160+
# If not set, RDI_LOG_LEVEL will be used.
161+
# RDI_LOG_LEVEL_OPERATOR: INFO
162+
163+
# Log level for the RDI processor. Valid options: DEBUG, INFO, ERROR.
164+
# If not set, RDI_LOG_LEVEL will be used.
165+
# RDI_LOG_LEVEL_PROCESSOR: INFO
166+
167+
# Specifies whether the RDI is configured to use TLS.
168+
RDI_REDIS_SSL: false
169+
170+
# RDI_IMAGE_REPO: redis
171+
172+
# This value must be set to the same tag as global.image.tag.
173+
# RDI_IMAGE_TAG: ""
174+
175+
# If using a private repository, set this value to the same secret name as in global.imagePullSecrets.
176+
# RDI_IMAGE_PULL_SECRET: []
177+
178+
# The service IP of the RDI database.
179+
# RDI_REDIS_HOST: ""
180+
181+
# The port for the RDI database.
182+
# RDI_REDIS_PORT: ""
183+
184+
# Enable authentication for the RDI API.
185+
# RDI_API_AUTH_ENABLED: "1"
186+
187+
# Specifies whether the API Collector should be deployed.
188+
# RDI_API_COLLECTOR_ENABLED: "0"
189+
190+
# Configuration for the RDI Secret.
191+
rdiSysSecret:
192+
# Username and password for RDI database.
193+
# If using the default password, keep the username as an empty string.
194+
# RDI_REDIS_USERNAME: ""
195+
# RDI_REDIS_PASSWORD: ""
196+
197+
# Uncomment this property when using a TLS connection from RDI to its Redis database.
198+
# DO NOT modify this value.
199+
# RDI_REDIS_CACERT: /etc/certificates/rdi_db/cacert
200+
201+
# Uncomment these properties when using a TLS connection from RDI to its Redis database.
202+
# DO NOT modify these values.
203+
# RDI_REDIS_CERT: /etc/certificates/rdi_db/cert
204+
# RDI_REDIS_KEY: /etc/certificates/rdi_db/key
205+
206+
# The passphrase used to get the private key stored in the secret store when using mTLS.
207+
# RDI_REDIS_KEY_PASSPHRASE: ""
208+
209+
# The key used to encrypt the JWT token used by RDI API.
210+
# JWT_SECRET_KEY: ""
211+
212+
rdiDbSSLSecret:
213+
# Set to `true` when using a TLS connection from RDI to its Redis database.
214+
enabled: false
215+
216+
# The content of the CA certificate PEM file.
217+
# Uncomment and set this property when using a TLS connection from RDI to its Redis database.
218+
# cacert: ""
219+
220+
# The content of the certificate PEM file.
221+
# Uncomment and set this property when using a TLS connection from RDI to its Redis database.
222+
# cert: ""
223+
224+
# The content of the private key PEM file.
225+
# Uncomment and set this property when using a TLS connection from RDI to its Redis database.
226+
# key: ""
227+
228+
# Container default security context.
229+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
230+
securityContext:
231+
runAsNonRoot: true
232+
runAsUser: 1000
233+
runAsGroup: 1000
234+
allowPrivilegeEscalation: false
235+
236+
# Set `isOpenshift` to `true` if deploying on OpenShift.
237+
reloader:
238+
reloader:
239+
isOpenshift: false
240+
deployment:
241+
containerSecurityContext:
242+
allowPrivilegeEscalation: false
243+
capabilities:
244+
drop:
245+
- ALL
246+
securityContext:
247+
runAsUser: null
248+
249+
# Configuration of the RDI Operator.
250+
operator:
251+
image:
252+
name: rdi-operator
253+
254+
# Specify an imagePullPolicy.
255+
# ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
256+
pullPolicy: IfNotPresent
257+
258+
# Extra optional options for liveness probe.
259+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
260+
liveness:
261+
failureThreshold: 6
262+
periodSeconds: 10
263+
264+
# Extra optional options for readiness probe.
265+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
266+
readiness:
267+
failureThreshold: 6
268+
periodSeconds: 30
269+
270+
# Extra optional options for startup probe.
271+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
272+
startup:
273+
failureThreshold: 60
274+
periodSeconds: 5
275+
276+
fluentd:
277+
image:
278+
name: rdi-fluentd
279+
280+
# Specify an imagePullPolicy.
281+
# ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
282+
pullPolicy: IfNotPresent
283+
284+
rdiLogsHostPath: "/opt/rdi/logs"
285+
podLogsHostPath: "/var/log/pods"
286+
logrotateMinutes: "5"
287+
288+
rdiMetricsExporter:
289+
image:
290+
name: rdi-monitor
291+
292+
# Specify an imagePullPolicy.
293+
# ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
294+
pullPolicy: IfNotPresent
295+
296+
# The RDI metrics service is set to ClusterIP, allowing access only from within the cluster.
297+
# ref: http://kubernetes.io/docs/user-guide/services/
298+
service:
299+
protocol: TCP
300+
port: 9121
301+
targetPort: 9121
302+
type: ClusterIP
303+
304+
# Configure extra options for liveness probe.
305+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
306+
liveness:
307+
failureThreshold: 6
308+
periodSeconds: 10
309+
310+
# Configure extra options for readiness probe.
311+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
312+
readiness:
313+
failureThreshold: 6
314+
periodSeconds: 30
315+
316+
# Configure extra options for startupProbe.
317+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
318+
startup:
319+
failureThreshold: 60
320+
periodSeconds: 5
321+
322+
# Configuration for the ServiceMonitor, which is used to scrape metrics from the RDI metrics service.
323+
serviceMonitor:
324+
# Set to `true` to activate the ServiceMonitor.
325+
enabled: false
326+
327+
# The endpoint from which Prometheus will scrape metrics.
328+
path: /metrics
329+
330+
# Configuration of the RDI API.
331+
apiServer:
332+
image:
333+
name: rdi-api
334+
335+
# Specify an imagePullPolicy.
336+
# ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
337+
pullPolicy: IfNotPresent
338+
339+
# The RDI API service is set to ClusterIP, allowing access only from within the cluster.
340+
# ref: http://kubernetes.io/docs/user-guide/services/
341+
service:
342+
type: ClusterIP
343+
name: rdi-api
344+
port: 8080
345+
targetPort: 8081
346+
347+
# Configure extra options for liveness probe.
348+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
349+
liveness:
350+
failureThreshold: 6
351+
periodSeconds: 10
352+
353+
# Configure extra options for readiness probe.
354+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
355+
readiness:
356+
failureThreshold: 6
357+
periodSeconds: 30
358+
359+
# Configure extra options for startupProbe.
360+
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
361+
startup:
362+
failureThreshold: 60
363+
periodSeconds: 5
364+
365+
# Expose the RDI API service to be accessed from outside the cluster.
366+
# ref: http://kubernetes.io/docs/user-guide/services/
367+
ingress:
368+
# When `enabled` is set to `true`, RDI API Ingress will be created.
369+
enabled: false
370+
371+
# ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
372+
# className: ""
373+
374+
# Ingress resources configure routes based on the requested host.
375+
# The optional Host field defines the hosts for routing. If omitted, it matches all hosts.
376+
# Example:
377+
# hosts:
378+
# - example.com
379+
# - another-example.com
380+
381+
# Annotations to be added to the IngressClass resource.
382+
# Example:
383+
# annotations:
384+
# kubernetes.io/ingress.class: "nginx"
385+
# nginx.ingress.kubernetes.io/rewrite-target: /
386+
387+
tls:
388+
# Specifies whether the Ingress should be configured to use TLS.
389+
enabled: false
390+
391+
# When `enabled` is set to `true`, set this property to the content of the crt file.
392+
# crt: ""
393+
394+
# When `enabled` is set to `true`, set this property to the content of the key file.
395+
# key: ""
396+
397+
# When `openShift` is set to `true`, Route will be created automatically.
398+
# Route exposes RDI API outside the cluster.
399+
route:
400+
tls:
401+
# Specifies whether the Route should be configured to use TLS.
402+
enabled: false
403+
404+
# When `enabled` is set to `true`, set this property to the content of the crt file.
405+
# crt: ""
406+
407+
# When `enabled` is set to `true`, set this property to the content of the key file.
408+
# key: ""
409+
410+
collectorSourceMetricsExporter:
411+
# The collector-source metrics service is set to ClusterIP, allowing access only from within the cluster.
412+
# ref: http://kubernetes.io/docs/user-guide/services/
413+
service:
414+
type: ClusterIP
415+
port: 9092
416+
targetPort: 19000
417+
418+
# Configuration for the ServiceMonitor, which is used to scrape metrics from the collector-source metrics service.
419+
serviceMonitor:
420+
# Set to `true` to activate the ServiceMonitor.
421+
enabled: false
422+
423+
# The endpoint from which Prometheus will scrape metrics.
424+
path: /metrics
120425
```
121426
122427
## Check the installation
@@ -131,7 +436,7 @@ The output looks like the following. Check that `<logical_chart_name>` is listed
131436

132437
```
133438
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
134-
<logical_chart_name> rdi 1 2024-10-10 16:53... +0300 IDT deployed rdi-1.0.0
439+
<logical_chart_name> rdi 1 2024-10-10 16:53... +0300 IDT deployed rdi-1.0.0
135440
```
136441

137442

@@ -142,10 +447,10 @@ sudo k3s kubectl get pod -n rdi
142447

143448
NAME READY STATUS RESTARTS AGE
144449
rdi-api-<id> 1/1 Running 0 29m
145-
rdi-metric-<id>l 1/1 Running 0 29m
450+
rdi-metric-<id>l 1/1 Running 0 29m
146451
rdi-operator-<id> 1/1 Running 0 29m
147452
<logical_chart_name>-reloader-<id> 1/1 Running 0 29m
148-
collector-api-<id> 1/1 Running 0 29m
453+
collector-api-<id> 1/1 Running 0 29m
149454
```
150455

151456
You can verify that the RDI API works by adding the server in

0 commit comments

Comments
 (0)