Skip to content

Commit ac925d0

Browse files
author
Ubuntu
committed
promoting version 7.4.2-2
1 parent 86513c1 commit ac925d0

30 files changed

+1022
-21
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
.idea
1+
*bundle.yaml

bundle.yaml

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3759,6 +3759,12 @@ spec:
37593759
- major
37603760
- latest
37613761
type: string
3762+
resp3Default:
3763+
description: Whether databases will turn on RESP3 compatibility upon
3764+
database upgrade. Note - Deleting this property after explicitly
3765+
setting its value shall have no effect. Please view the corresponding
3766+
field in RS doc for more info.
3767+
type: boolean
37623768
serviceAccountName:
37633769
description: Name of the service account to use
37643770
type: string
@@ -11014,6 +11020,8 @@ spec:
1101411020
- major
1101511021
- latest
1101611022
type: string
11023+
resp3Default:
11024+
type: boolean
1101711025
serviceAccountName:
1101811026
type: string
1101911027
servicesRiggerSpec:
@@ -15396,6 +15404,12 @@ spec:
1539615404
- type
1539715405
type: object
1539815406
type: array
15407+
shardingEnabled:
15408+
description: Toggles database sharding for REAADBs (Active Active
15409+
databases) and enabled by default. This field is blocked for REDB
15410+
(non-Active Active databases) and sharding is toggled via the shardCount
15411+
field - when shardCount is 1 this is disabled otherwise enabled.
15412+
type: boolean
1539915413
shardCount:
1540015414
description: Number of database server-side shards
1540115415
type: integer
@@ -15473,6 +15487,11 @@ spec:
1547315487
For password, use ''password'' as the key and the actual password as the value.
1547415488
Note that connections are not encrypted.'
1547515489
type: string
15490+
resp3:
15491+
description: Whether this database supports RESP3 protocol.
15492+
Note - Deleting this property after explicitly setting its value shall have no effect.
15493+
Please view the corresponding field in RS doc for more info.
15494+
type: boolean
1547615495
type: object
1547715496
status:
1547815497
description: RedisEnterpriseDatabaseStatus defines the observed state of
@@ -16393,6 +16412,11 @@ spec:
1639316412
will have replica shard for every master - leading to higher
1639416413
availability.
1639516414
type: boolean
16415+
resp3:
16416+
description: Whether this database supports RESP3 protocol.
16417+
Note - Deleting this property after explicitly setting its value shall have no effect.
16418+
Please view the corresponding field in RS doc for more info.
16419+
type: boolean
1639616420
rofRamSize:
1639716421
description: The size of the RAM portion of an RoF database. Similarly
1639816422
to "memorySize" use formats like 100MB, 0.1GB It must be at
@@ -16424,6 +16448,12 @@ spec:
1642416448
- type
1642516449
type: object
1642616450
type: array
16451+
shardingEnabled:
16452+
description: Toggles database sharding for REAADBs (Active Active
16453+
databases) and enabled by default. This field is blocked for REDB
16454+
(non-Active Active databases) and sharding is toggled via the shardCount
16455+
field - when shardCount is 1 this is disabled otherwise enabled.
16456+
type: boolean
1642716457
shardCount:
1642816458
description: Number of database server-side shards
1642916459
type: integer
@@ -16481,7 +16511,7 @@ spec:
1648116511
serviceAccountName: redis-enterprise-operator
1648216512
containers:
1648316513
- name: redis-enterprise-operator
16484-
image: redislabs/operator:7.2.4-12
16514+
image: redislabs/operator:7.4.2-2
1648516515
command:
1648616516
- operator-root
1648716517
- operator
@@ -16531,7 +16561,7 @@ spec:
1653116561
drop:
1653216562
- ALL
1653316563
- name: admission
16534-
image: redislabs/operator:7.2.4-12
16564+
image: redislabs/operator:7.4.2-2
1653516565
command:
1653616566
- operator-root
1653716567
- admission

crds/reaadb_crd.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,11 @@ spec:
684684
will have replica shard for every master - leading to higher
685685
availability.
686686
type: boolean
687+
resp3:
688+
description: Whether this database supports RESP3 protocol.
689+
Note - Deleting this property after explicitly setting its value shall have no effect.
690+
Please view the corresponding field in RS doc for more info.
691+
type: boolean
687692
rofRamSize:
688693
description: The size of the RAM portion of an RoF database. Similarly
689694
to "memorySize" use formats like 100MB, 0.1GB It must be at
@@ -715,6 +720,12 @@ spec:
715720
- type
716721
type: object
717722
type: array
723+
shardingEnabled:
724+
description: Toggles database sharding for REAADBs (Active Active
725+
databases) and enabled by default. This field is blocked for REDB
726+
(non-Active Active databases) and sharding is toggled via the shardCount
727+
field - when shardCount is 1 this is disabled otherwise enabled.
728+
type: boolean
718729
shardCount:
719730
description: Number of database server-side shards
720731
type: integer

crds/rec_crd.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3664,6 +3664,12 @@ spec:
36643664
- major
36653665
- latest
36663666
type: string
3667+
resp3Default:
3668+
description: Whether databases will turn on RESP3 compatibility upon
3669+
database upgrade. Note - Deleting this property after explicitly
3670+
setting its value shall have no effect. Please view the corresponding
3671+
field in RS doc for more info.
3672+
type: boolean
36673673
serviceAccountName:
36683674
description: Name of the service account to use
36693675
type: string
@@ -10919,6 +10925,8 @@ spec:
1091910925
- major
1092010926
- latest
1092110927
type: string
10928+
resp3Default:
10929+
type: boolean
1092210930
serviceAccountName:
1092310931
type: string
1092410932
servicesRiggerSpec:

crds/redb_crd.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,12 @@ spec:
527527
- type
528528
type: object
529529
type: array
530+
shardingEnabled:
531+
description: Toggles database sharding for REAADBs (Active Active
532+
databases) and enabled by default. This field is blocked for REDB
533+
(non-Active Active databases) and sharding is toggled via the shardCount
534+
field - when shardCount is 1 this is disabled otherwise enabled.
535+
type: boolean
530536
shardCount:
531537
description: Number of database server-side shards
532538
type: integer
@@ -604,6 +610,11 @@ spec:
604610
For password, use ''password'' as the key and the actual password as the value.
605611
Note that connections are not encrypted.'
606612
type: string
613+
resp3:
614+
description: Whether this database supports RESP3 protocol.
615+
Note - Deleting this property after explicitly setting its value shall have no effect.
616+
Please view the corresponding field in RS doc for more info.
617+
type: boolean
607618
type: object
608619
status:
609620
description: RedisEnterpriseDatabaseStatus defines the observed state of
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.helmignore
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: v2
2+
type: application
3+
4+
name: redis-enterprise-operator
5+
description: A Helm chart for Redis Enterprise Operator for Kubernetes
6+
7+
version: 0.1.0
8+
appVersion: 7.4.2-2
9+
10+
home: https://redis.com
11+
icon: https://redis.com/wp-content/themes/wpx/assets/images/logo-redis.svg
12+
keywords:
13+
- redis
14+
- database
15+
maintainers:
16+
- name: Redis
17+
url: https://redis.com/company/contact/
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# Redis Enterprise Operator Helm Chart
2+
3+
Official Helm chart for installing, configuring and upgrading **Redis Enterprise Operator for Kubernetes**.
4+
5+
[Redis Enterprise](https://redis.com/redis-enterprise-software/overview/) is a self-managed data platform that unlocks the full potential of Redis at enterprise scale - on premises or in the cloud.
6+
[Redis Enterprise Operator for Kubernetes](https://redis.com/redis-enterprise-software/redis-enterprise-on-kubernetes/) provides a simple, Kubernetes-native way for deploying and managing Redis Enterprise on Kubernetes.
7+
8+
## Prerequisites
9+
10+
- Kubernetes 1.23+
11+
Supported Kubernetes versions can vary according to the Kubernetes distribution being used.
12+
Please consult the [release notes](https://docs.redis.com/latest/kubernetes/release-notes/) for detailed supported distributions information per operator version.
13+
- Helm 3.10+
14+
15+
## Installing the Chart
16+
17+
To install the chart:
18+
19+
```sh
20+
helm install [RELEASE_NAME] [PATH_TO_CHART]
21+
```
22+
23+
The `[PATH_TO_CHART]` may be a path to the chart root directory, or a chart archive on the local filesystem.
24+
25+
To install the chart on **OpenShift**, set the `isOpenshift=true` value:
26+
27+
```sh
28+
helm install [RELEASE_NAME] [PATH_TO_CHART] \
29+
--set isOpenshift=true
30+
```
31+
32+
To create and select a namespace for the installation, specify the `--namespace` and `--create-namespace` flags:
33+
34+
```sh
35+
helm install [RELEASE_NAME] [PATH_TO_CHART] \
36+
--namespace [NAMESPACE] \
37+
--create-namespace
38+
```
39+
40+
For example, to install the chart with release name "my-redis-enterprise" from within the chart's root directory:
41+
42+
```sh
43+
helm install my-redis-enterprise . \
44+
--namespace redis-enterprise \
45+
--create-namespace
46+
```
47+
48+
Note: the chart installation includes several jobs that configure the CRDs and admission controller used by the operator.
49+
These jobs run synchronously during the execution of `helm install` command, and may take around 1 minute to complete.
50+
To view additional progress information during the `helm install` execution, use the `--debug` flag:
51+
52+
```sh
53+
helm install [RELEASE_NAME] [PATH_TO_CHART] \
54+
--debug
55+
```
56+
57+
See [Configuration](#configuration) section below for various configuration options.
58+
See [Creating a Redis Enterprise Cluster](#creating-a-redis-enterprise-cluster) section below for instructions for creating a Redis Enterprise Cluster.
59+
See [helm install](https://helm.sh/docs/helm/helm_install/) and [Using Helm](https://helm.sh/docs/intro/using_helm/#helm-install-installing-a-package) for more information and options when installing charts.
60+
61+
## Uninstalling the Chart
62+
63+
Before uninstalling the chart, delete any custom resources managed by the Redis Enterprise Operator:
64+
65+
```sh
66+
kubectl delete redb <name>
67+
kubectl delete rerc <name>
68+
kubectl delete reaadb <name>
69+
kubectl delete rec <name>
70+
```
71+
72+
To uninstall a previously installed chart:
73+
74+
```sh
75+
helm uninstall [RELEASE_NAME]
76+
```
77+
78+
This removes all the Kubernetes resources associated with the chart and deletes the release.
79+
80+
See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for more information and options when uninstalling charts.
81+
82+
## Creating a Redis Enterprise Cluster
83+
84+
Once the chart is installed and the Redis Enterprise Operator is running, a Redis Enterprise Cluster can be created.
85+
As of now, the Redis Enterprise Cluster is created directly via custom resources, and not via Helm.
86+
87+
To create a Redis Enterprise Cluster:
88+
89+
1. Validate that the `redis-enterprise-operator` pod is in `RUNNING` state:
90+
91+
```sh
92+
kubectl get pods -n [NAMESPACE]
93+
```
94+
95+
2. Create a file for the `RedisEnterpriseCluster` custom resource:
96+
97+
```yaml
98+
apiVersion: app.redislabs.com/v1
99+
kind: RedisEnterpriseCluster
100+
metadata:
101+
name: rec
102+
spec:
103+
nodes: 3
104+
```
105+
106+
3. Apply the custom resource:
107+
108+
```sh
109+
kubectl apply -f rec.yaml -n [NAMESPACE]
110+
```
111+
112+
See [Create a Redis Enterprise cluster](https://docs.redis.com/latest/kubernetes/deployment/quick-start/#create-a-redis-enterprise-cluster-rec) and [Redis Enterprise Cluster API](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/redis_enterprise_cluster_api.md) for more information and options for creating a Redis Enterprise Cluster.
113+
114+
## Configuration
115+
116+
The chart supports several configuration options that allows to customize the behavior and capabilities of the Redis Enterprise Operator.
117+
For a list of configurable options and their descriptions, please refer to the `values.yaml` file at the root of the chart.
118+
119+
To install the chart with a customized values file:
120+
121+
```sh
122+
helm install [RELEASE_NAME] [PATH_TO_CHART] \
123+
--values [PATH_TO_VALUES_FILE]
124+
```
125+
126+
To install the chart with the default values files but with some specific values overriden:
127+
128+
```sh
129+
helm install [RELEASE_NAME] [PATH_TO_CHART] \
130+
--set key1=value1 \
131+
--set key2=value2
132+
```
133+
134+
See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing) for additional information on how to customize the chart installation.
135+
136+
## Known Limitations
137+
138+
This is a preliminary release of this Helm chart, and as of now some if its functionality is still limited:
139+
140+
- The chart only installs the Redis Enterprise Operator, but doesn't create a Redis Enterprise Cluster. See [Creating a Redis Enterprise Cluster](#creating-a-redis-enterprise-cluster) section for instructions on how to directly create a Redis Enterprise Cluster.
141+
- Several configuration options for the operator are still unsupported, including multiple REDB namespaces, rack-aware, and vault integration. These options can be enabled by following the relevant instructions in the [product documentation](https://docs.redis.com/latest/kubernetes/).
142+
- CRDs installed by the chart are not removed upon chart uninstallation. These could be manually removed when the chart is uninstalled and are no longer needed, using the following command:
143+
```sh
144+
kubectl delete crds -l app=redis-enterprise
145+
```
146+
- Helm chart upgrades are not supported, nor migrations from a non-Helm deployment to a Helm deployment.
147+
- Limited testing in advanced setups such as Active-Active configurations, airgapped deployments, IPv6/dual-stack environments.
148+
- The chart is still unpublished in a "helm repo" or ArtifactHub, and thus can only be installed from a local source (chart directory/archive).
149+
- While not really a limitation, please note that this chart also installs the [admission controller](https://docs.redis.com/latest/kubernetes/deployment/quick-start/#enable-the-admission-controller) by default, and there's no option to disable it (as opposed to the non-Helm deployment).
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{{- define "redis-enterprise-operator.operator.image" }}
2+
{{- if and .Values.global .Values.global.azure .Values.global.azure.images .Values.global.azure.images.operator }}
3+
{{- with .Values.global.azure.images.operator }}
4+
{{ .registry }}/{{ .image }}@{{ .digest }}
5+
{{- end }}
6+
{{- else }}
7+
{{- $defaultRepository := ternary "registry.connect.redhat.com/redislabs/redis-enterprise-operator" "redislabs/operator" .Values.isOpenshift }}
8+
{{- $repository := default $defaultRepository .Values.operator.image.repository }}
9+
{{ $repository }}:{{ .Values.operator.image.tag }}
10+
{{- end }}
11+
{{- end }}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: admission
5+
labels:
6+
app: redis-enterprise
7+
spec:
8+
ports:
9+
- port: 443
10+
protocol: TCP
11+
targetPort: 8443
12+
selector:
13+
name: redis-enterprise-operator

0 commit comments

Comments
 (0)