Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

promoting version 6.2.10-3 #217

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 20 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ High level architecture and overview of the solution can be found [HERE](https:/
The following are the images and tags for this release:
| Component | k8s | Openshift |
| --- | --- | --- |
| Redis Enterprise | `redislabs/redis:6.2.8-64` | `redislabs/redis:6.2.8-64.rhel7-openshift` |
| Operator | `redislabs/operator:6.2.8-15` | `redislabs/operator:6.2.8-15` |
| Services Rigger | `redislabs/k8s-controller:6.2.8-15` | `redislabs/k8s-controller:6.2.8-15` |
| Redis Enterprise | `redislabs/redis:6.2.10-83` | `redislabs/redis:6.2.10-83.rhel7-openshift` |
| Operator | `redislabs/operator:6.2.10-3` | `redislabs/operator:6.2.10-3` |
| Services Rigger | `redislabs/k8s-controller:6.2.10-3` | `redislabs/k8s-controller:6.2.10-3` |
> * RedHat certified images are available on [Redhat Catalog](https://access.redhat.com/containers/#/product/71f6d1bb3408bd0d) </br>


Expand Down Expand Up @@ -139,8 +139,6 @@ This is the fastest way to get up and running with a new Redis Enterprise on Kub

> **Note:** If you're not using multiple namespaces you may skip to ["Verify the installation"](#verify_admission_installation) step.

> **Note:** If you're not using multiple namespaces you may proceed to step 6.

* Limiting the webhook to the relevant namespaces:
Unless limited, webhooks will intercept requests from all namespaces.<br>
In case you have several REC objects on your K8S cluster you need to limit the webhook to the relevant namespace.
Expand Down Expand Up @@ -383,7 +381,7 @@ The operator deploys a `RedisEnterpriseCluster` with default configurations valu
redisEnterpriseImageSpec:
imagePullPolicy: IfNotPresent
repository: redislabs/redis
versionTag: 6.2.8-64
versionTag: 6.2.10-83
```

* Persistence
Expand Down Expand Up @@ -485,21 +483,21 @@ For example:
redisEnterpriseImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/redis
versionTag: 6.2.8-64
versionTag: 6.2.10-83
```

```yaml
redisEnterpriseServicesRiggerImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/k8s-controller
versionTag: 6.2.8-15
versionTag: 6.2.10-3
```

```yaml
bootstrapperImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/operator
versionTag: 6.2.8-15
versionTag: 6.2.10-3
```

In Operator Deployment spec (operator.yaml):
Expand All @@ -511,7 +509,7 @@ spec:
spec:
containers:
- name: redis-enterprise-operator
image: harbor.corp.local/redisenterprise/operator:6.2.8-15
image: harbor.corp.local/redisenterprise/operator:6.2.10-3
```

Image specification follow the [K8s Container schema](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#container-v1-core).
Expand Down Expand Up @@ -634,7 +632,7 @@ Note: in the examples above the Redis Enterprise Cluster name is: 'rec' and the
The Operator automates and simplifies the upgrade process.
The Redis Enterprise Cluster Software, and the Redis Enterprise Operator for Kubernetes versions are tightly coupled and should be upgraded together.
It is recommended to use the bundle.yaml to upgrade, as it loads all the relevant CRD documents for this version. If the updated CRDs are not loaded, the operator might fail.
There are two ways to upgrade - either set 'autoUpgradeRedisEnterprise' within the Redis Enterprise Cluster Spec to instruct the operator to automatically upgrade to the compatible version, or specify the correct Redis Enterprise image manually using the versionTag attribute. The Redis Enterprise Version compatible with this release is 6.2.8-64
There are two ways to upgrade - either set 'autoUpgradeRedisEnterprise' within the Redis Enterprise Cluster Spec to instruct the operator to automatically upgrade to the compatible version, or specify the correct Redis Enterprise image manually using the versionTag attribute. The Redis Enterprise Version compatible with this release is 6.2.10-83

```yaml
autoUpgradeRedisEnterprise: true
Expand All @@ -643,7 +641,7 @@ There are two ways to upgrade - either set 'autoUpgradeRedisEnterprise' within t
Alternatively:
```yaml
RedisEnterpriseImageSpec:
versionTag: redislabs/redis:6.2.8-64
versionTag: redislabs/redis:6.2.10-83
```

## Supported K8S Distributions
Expand All @@ -665,12 +663,17 @@ Supported versions (platforms/versions that are not listed are not supported):
| GKE 1.20 | supported |
| GKE 1.21 | supported |
| GKE 1.22 | supported |
| Rancher 2.5 (K8s 1.17) | deprecated |
| Rancher 2.5 (K8s 1.18) | supported |
| Rancher 2.5 (K8s 1.19) | supported |
| Rancher 2.5 (K8s 1.20) | supported |
| Rancher 2.5 (K8s 1.17) | *deprecated |
| Rancher 2.5 (K8s 1.18) | *deprecated |
| Rancher 2.5 (K8s 1.19) | *deprecated |
| Rancher 2.5 (K8s 1.20) | *deprecated |
| Rancher 2.6 (K8s 1.18) | supported |
| Rancher 2.6 (K8s 1.19) | supported |
| Rancher 2.6 (K8s 1.20) | supported |
| Rancher 2.6 (K8s 1.21) | supported |
| VMWare TKGIE** 1.10 (K8s 1.19) | supported |
| AKS 1.19 | supported |
| VMWare TKGIE 1.11 (K8s 1.20) | supported |
| AKS 1.19* | deprecated |
| AKS 1.20 | supported |
| AKS 1.21 | supported |
| AKS 1.22 | supported |
Expand Down
30 changes: 30 additions & 0 deletions advanced/Redis-gears/gears.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
spec:
redisEnterpriseAdditionalPodSpecAttributes:
initContainers:
- name: initcontainer
volumeMounts:
- mountPath: /opt/redislabs/gears-packages
name: gears-volume
image: python:3.7
imagePullPolicy: IfNotPresent
env:
- name: "GEARS_PACKAGES"
value: "<Python packages>"
command:
- "/bin/bash"
args:
- "-c"
- "for package in ${GEARS_PACKAGES}; do echo $package >>/tmp/requirements.txt; done; pip install -r /tmp/requirements.txt -t /opt/redislabs/gears-packages"
resources:
limits:
memory: 4Gi
cpu: 2
requests:
memory: 4Gi
cpu: 2
redisEnterpriseVolumeMounts:
- mountPath: /opt/redislabs/gears-packages
name: gears-volume
volumes:
- emptyDir: {}
name: gears-volume
31 changes: 31 additions & 0 deletions advanced/Redis-gears/install_gears_python_packages.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Install Python packages for Redis Gears

Disclaimer:
This instructions are provided as a work around and not considered official, any use of this is the user responsibility.

Notes:
This doc is assuming the following:
• Redis Gears is already installed on the Redis enterprise cluster.
• The Redis gears Python version is 3.7 (if not the sidecar container image should be changed).

Instructions:
a. edit the gears.yaml, replace the <Python packages> with the Python packages that should be installed.
The packages must be separated by a ' ' (space).
For example to install the packages pytz version 2021.3 and kubernetes the yaml should be:
```
...
- name: "GEARS_PACKAGES"
value: "pytz==2021.3 kubernetes"
...
```
b. Run the kubectl patch command on your cluster with the modified gears.yaml from the previous step, replace the <REC name> with the name of your Redis enterprise cluster:
kubectl patch rec <REC name> --type merge --patch "$(cat gears.yaml)"
c. Wait until all the Redis enterprise nodes are restarted with the new configurations.
d. Add the below code snippet in the top of your Redis gears Python function that wants to use the installed package/s:
```
import sys
if '/opt/redislabs/gears-packages' not in sys.path:
sys.path.append('/opt/redislabs/gears-packages')
# Your code below...
```

Loading