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 100.0.5-6614 #238

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
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
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
.idea
*bundle.yaml
28 changes: 18 additions & 10 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.10-129` | `redislabs/redis:6.2.10-129.rhel8-openshift` |
| Operator | `redislabs/operator:6.2.10-45` | `redislabs/operator:6.2.10-45` |
| Services Rigger | `redislabs/k8s-controller:6.2.10-45` | `redislabs/k8s-controller:6.2.10-45` |
| Redis Enterprise | `redislabs/redis:6.2.12-62` | `redislabs/redis:6.2.12-62.rhel8-openshift` |
| Operator | `redislabs/operator:100.0.5-6614` | `redislabs/operator:100.0.5-6614` |
| Services Rigger | `redislabs/k8s-controller:100.0.5-6614` | `redislabs/k8s-controller:100.0.5-6614` |
> * RedHat certified images are available on [Redhat Catalog](https://access.redhat.com/containers/#/product/71f6d1bb3408bd0d) </br>


Expand Down Expand Up @@ -376,7 +376,7 @@ The operator deploys a `RedisEnterpriseCluster` with default configurations valu
redisEnterpriseImageSpec:
imagePullPolicy: IfNotPresent
repository: redislabs/redis
versionTag: 6.2.10-129
versionTag: 6.2.12-62
```

* Persistence
Expand Down Expand Up @@ -478,21 +478,21 @@ For example:
redisEnterpriseImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/redis
versionTag: 6.2.10-129
versionTag: 6.2.12-62
```

```yaml
redisEnterpriseServicesRiggerImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/k8s-controller
versionTag: 6.2.10-45
versionTag: 100.0.5-6614
```

```yaml
bootstrapperImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/operator
versionTag: 6.2.10-45
versionTag: 100.0.5-6614
```

In Operator Deployment spec (operator.yaml):
Expand All @@ -504,7 +504,7 @@ spec:
spec:
containers:
- name: redis-enterprise-operator
image: harbor.corp.local/redisenterprise/operator:6.2.10-45
image: harbor.corp.local/redisenterprise/operator:100.0.5-6614
```

Image specification follow the [K8s Container schema](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#container-v1-core).
Expand Down Expand Up @@ -627,7 +627,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.10-129
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.12-62

```yaml
autoUpgradeRedisEnterprise: true
Expand All @@ -636,7 +636,7 @@ There are two ways to upgrade - either set 'autoUpgradeRedisEnterprise' within t
Alternatively:
```yaml
RedisEnterpriseImageSpec:
versionTag: redislabs/redis:6.2.10-129
versionTag: redislabs/redis:6.2.12-62
```

## Supported K8S Distributions
Expand Down Expand Up @@ -676,3 +676,11 @@ Supported versions (platforms/versions that are not listed are not supported):

\* No longer supported by the vendor
\*\* Tanzu Kubernetes Grid Integrated Edition

### Supported RedisEnterprise versions per operator
Each release of the Redis Enterprise Operator deployment is tested against a set of Redis Enterprise releases.
You can specify Redis Enterprise image manually using the versionTag attribute.
Redis Enterprise Operator deployment versions and Redis Enterprise Cluster Software versions that are supported:
| Operator | Redis Enterprise | Openshift |
|----------------------|------------------|--------------------------------|
| `redislabs/operator:100.0.5-6614` | `redislabs/redis:6.2.12-62` | `redislabs/redis:6.2.12-62.rhel8-openshift` |
4 changes: 2 additions & 2 deletions bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -810,7 +810,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: redislabs/operator:6.2.10-45
image: redislabs/operator:100.0.5-6614
command:
- redis-enterprise-operator
imagePullPolicy: Always
Expand Down Expand Up @@ -852,7 +852,7 @@ spec:
port: 8080
scheme: HTTP
- name: admission
image: redislabs/operator:6.2.10-45
image: redislabs/operator:100.0.5-6614
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down
100 changes: 100 additions & 0 deletions google_private_cloud/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<!-- omit in toc -->
# Deploying Redis Enterprise on Google Private Cloud

This page describes how to deploy Redis Enterprise on Google Private Cloud Kubernetes solution using the Redis Enterprise Operator.

### Prerequisites

- A Kubernetes cluster version of 1.20 or higher, with a minimum of 3 worker nodes.
- A Kubernetes client (kubectl) with a matching version.
- Access to DockerHub, Harbor or a private repository that can serve the required images.



The following are the images and tags for this release:

| Component | k8s |
| --- | --- |
| Redis Enterprise | `redislabs/redis:6.2.12-62` |
| Operator | `redislabs/operator:100.0.5-6614` |
| Services Rigger | `redislabs/k8s-controller:100.0.5-6614` |


### Installation
The "Basic" installation deploys the operator (from the current release) from DockerHub and default settings.
This is the fastest way to get up and running with a new Redis Enterprise on Kubernetes.

1. We will need to clone the yamls from [github](https://github.com/RedisLabs/redis-enterprise-k8s-docs/releases) to your local directory.

2. Create a new namespace:
> Note:
For the purpose of this doc, we'll use the name "demo" for our cluster's namespace.

```bash
kubectl create namespace demo
```

Switch context to the newly created namespace:

```bash
kubectl config set-context --current --namespace=demo
```
***
For deploying the bundle and the Redis Enterprise Cluster custom resource we will use the [Kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/).
3. Customize the operator deployment -

Before deploying the bundle.yaml we will need to customize it .
edit the `bundle\kustomize_bundle.yaml` file :
> Note:
Replace the [User Private repo] with your private images repository location.

4. Deploy the operator bundle

with `kubectl`, the following command will deploy a bundle of all the yaml declarations required for the operator:

```bash
kubectl apply -k bundle
```

Run `kubectl get deployment` and verify redis-enterprise-operator deployment is running.

A typical response may look like this:

```bash
NAME READY UP-TO-DATE AVAILABLE AGE
redis-enterprise-operator 1/1 1 1 2m
```

5. Customize the Redis Enterprise Cluster custom resource -

Before deploying the rec.yaml we will need to customize it .
edit the `rec\kustomize_rec.yaml` file :
> Note:
Replace the [User Private repo] with your private images repository location.

The kustomize_rec.yaml configure the Redis Enterprise Cluster custom resource with the default configuration,
which is suitable for development type deployments and works in typical scenarios.
The full list of attributes supported through the Redis Enterprise Cluster (REC) API can be found [HERE](redis_enterprise_cluster_api.md).


6. Redis Enterprise Cluster custom resource - `RedisEnterpriseCluster`

Create a `RedisEnterpriseCluster`(REC) using the kustomize capability,

```bash
kubectl apply -k rec
```

> Note:
The Operator can only manage one Redis Enterprise Cluster custom resource in a namespace. To deploy another Enterprise Clusters in the same Kubernetes cluster, deploy an Operator in an additional namespace for each additional Enterprise Cluster required. Note that each Enterprise Cluster can effectively host hundreds of Redis Database instances. Deploying multiple clusters is typically used for scenarios where complete operational isolation is required at the cluster level.

7. Run ```kubectl get rec``` and verify creation was successful. `rec` is a shortcut for RedisEnterpriseCluster. The cluster takes around 5-10 minutes to come up.
A typical response may look like this:
```
NAME AGE
rec 5m
```
> Note: Once the cluster is up, the cluster GUI and API could be used to configure databases. It is recommended to use the K8s REDB API that is configured through the following steps. To configure the cluster using the cluster GUI/API, use the ui service created by the operator and the default credentials as set in a secret. The secret name is the same as the cluster name within the namespace.


*** For advanced configuration and more info you can visit our formal documentation [here](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/README.md).
4 changes: 4 additions & 0 deletions google_private_cloud/bundle/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
resources:
- bundle.yaml
patchesStrategicMerge:
- kustomize_bundle.yaml
4 changes: 4 additions & 0 deletions google_private_cloud/rec/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
resources:
- rec.yaml
patchesStrategicMerge:
- kustomize_rec.yaml
17 changes: 17 additions & 0 deletions google_private_cloud/rec/kustomize_rec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: app.redislabs.com/v1alpha1
kind: RedisEnterpriseCluster
metadata:
name: rec
spec:
persistentSpec:
storageClassName: standard
volumeSize: 20Gi
redisEnterpriseImageSpec:
repository: [User redis Private repo]
versionTag: 6.2.12-62
redisEnterpriseServicesRiggerImageSpec:
repository: [User service rigger Private repo]
versionTag: 100.0.5-6614
bootstrapperImageSpec:
repository: [User operator Private repo]
versionTag: 100.0.5-6614
7 changes: 7 additions & 0 deletions google_private_cloud/rec/rec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: app.redislabs.com/v1
kind: RedisEnterpriseCluster
metadata:
name: rec
spec:
# Add fields here
nodes: 3
4 changes: 2 additions & 2 deletions multi-namespace-redb/operator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: redislabs/operator:6.2.10-45
image: redislabs/operator:100.0.5-6614
command:
- redis-enterprise-operator
imagePullPolicy: Always
Expand Down Expand Up @@ -57,7 +57,7 @@ spec:
port: 8080
scheme: HTTP
- name: admission
image: redislabs/operator:6.2.10-45
image: redislabs/operator:100.0.5-6614
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down
4 changes: 2 additions & 2 deletions openshift.bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -838,7 +838,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.10-45
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:100.0.5-6614
securityContext:
runAsUser: 1001
command:
Expand Down Expand Up @@ -884,7 +884,7 @@ spec:
port: 8080
scheme: HTTP
- name: admission
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.10-45
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:100.0.5-6614
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down
4 changes: 2 additions & 2 deletions openshift/operator_rhel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.10-45
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:100.0.5-6614
securityContext:
runAsUser: 1001
command:
Expand Down Expand Up @@ -61,7 +61,7 @@ spec:
port: 8080
scheme: HTTP
- name: admission
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.10-45
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:100.0.5-6614
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down
2 changes: 1 addition & 1 deletion openshift/rec_rhel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ spec:
nodes: 3
redisEnterpriseImageSpec:
repository: registry.connect.redhat.com/redislabs/redis-enterprise
versionTag: 6.2.10-129.rhel8-openshift
versionTag: 6.2.12-62.rhel8-openshift
redisEnterpriseServicesRiggerImageSpec:
repository: registry.connect.redhat.com/redislabs/services-manager
bootstrapperImageSpec:
Expand Down
4 changes: 2 additions & 2 deletions operator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: redislabs/operator:6.2.10-45
image: redislabs/operator:100.0.5-6614
command:
- redis-enterprise-operator
imagePullPolicy: Always
Expand Down Expand Up @@ -57,7 +57,7 @@ spec:
port: 8080
scheme: HTTP
- name: admission
image: redislabs/operator:6.2.10-45
image: redislabs/operator:100.0.5-6614
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down
8 changes: 4 additions & 4 deletions redis_enterprise_cluster_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,11 +294,11 @@ RedisEnterpriseClusterSpec defines the desired state of RedisEnterpriseCluster
| certificates | RS Cluster Certificates. Used to modify the certificates used by the cluster. See the \"RSClusterCertificates\" struct described above to see the supported certificates. | *[RSClusterCertificates](#rsclustercertificates) | | false |
| podStartingPolicy | Mitigation setting for STS pods stuck in \"ContainerCreating\" | *[StartingPolicy](#startingpolicy) | | false |
| redisEnterpriseTerminationGracePeriodSeconds | The TerminationGracePeriodSeconds value for the (STS created) REC pods. Note that pods should not be taken down intentionally by force. Because clean pod shutdown is essential to prevent data loss, the default value is intentionally large (1 year). When data loss is acceptable (such as pure caching configurations), a value of a few minutes may be acceptable. | *int64 | 31536000 | false |
| redisOnFlashSpec | Stores configurations specific to redis on flash. If provided, the cluster will be capable of creating redis on flash databases. Note - This is an ALPHA Feature. For this feature to take effect, set a boolean environment variable with the name "ENABLE_ALPHA_FEATURES" to True. This variable can be set via the redis-enterprise-operator pod spec, or through the operator-environment-config Config Map. | *[RedisOnFlashSpec](#redisonflashspec) | | false |
| ocspConfiguration | An API object that represents the cluster's OCSP configuration. To enable OCSP, the cluster's proxy certificate should contain the OCSP responder URL. Note - This is an ALPHA Feature. For this feature to take effect, set a boolean environment variable with the name "ENABLE_ALPHA_FEATURES" to True. This variable can be set via the redis-enterprise-operator pod spec, or through the operator-environment-config Config Map. | *[OcspConfiguration](#ocspconfiguration) | | false |
| encryptPkeys | Private key encryption - in order to enable, first need to mount ${ephemeralconfdir}/secrets/pem/passphrase and add the passphrase and then set fields value to 'true' Possible values: true/false Note: This is an ALPHA Feature. For this feature to take effect, set a boolean environment variable with the name "ENABLE_ALPHA_FEATURES" to True. This variable can be set via the redis-enterprise-operator pod spec, or through the operator-environment-config Config Map. | *bool | | false |
| redisOnFlashSpec | Stores configurations specific to redis on flash. If provided, the cluster will be capable of creating redis on flash databases. Note - This is an ALPHA Feature. For this feature to take effect, set a boolean environment variable with the name \"ENABLE_ALPHA_FEATURES\" to True. This variable can be set via the redis-enterprise-operator pod spec, or through the operator-environment-config Config Map. | *[RedisOnFlashSpec](#redisonflashspec) | | false |
| ocspConfiguration | An API object that represents the cluster's OCSP configuration. To enable OCSP, the cluster's proxy certificate should contain the OCSP responder URL. Note - This is an ALPHA Feature. For this feature to take effect, set a boolean environment variable with the name \"ENABLE_ALPHA_FEATURES\" to True. This variable can be set via the redis-enterprise-operator pod spec, or through the operator-environment-config Config Map. | *[OcspConfiguration](#ocspconfiguration) | | false |
| encryptPkeys | Private key encryption - in order to enable, first need to mount ${ephemeralconfdir}/secrets/pem/passphrase and add the passphrase and then set fields value to 'true' Possible values: true/false Note: This is an ALPHA Feature. For this feature to take effect, set a boolean environment variable with the name \"ENABLE_ALPHA_FEATURES\" to True. This variable can be set via the redis-enterprise-operator pod spec, or through the operator-environment-config Config Map. | *bool | | false |
| containerTimezone | Container timezone configuration. While the default timezone on all containers is UTC, this setting can be used to set the timezone on services rigger/bootstrapper/RS containers. Currently the only supported value is to propagate the host timezone to all containers. | *[ContainerTimezoneSpec](#containertimezonespec) | | false |
| ingressOrRouteSpec | Access configurations for the Redis Enterprise Cluster and Databases. Note - this feature is currently in preview. For this feature to take effect, set a boolean environment variable with the name "ENABLE_ALPHA_FEATURES" to True. This variable can be set via the redis-enterprise-operator pod spec, or through the operator-environment-config Config Map. At most one of ingressOrRouteSpec or activeActive fields can be set at the same time. | *[IngressOrRouteSpec](#ingressorroutespec) | | false |
| ingressOrRouteSpec | Access configurations for the Redis Enterprise Cluster and Databases. Note - this feature is currently in preview. For this feature to take effect, set a boolean environment variable with the name \"ENABLE_ALPHA_FEATURES\" to True. This variable can be set via the redis-enterprise-operator pod spec, or through the operator-environment-config Config Map. At most one of ingressOrRouteSpec or activeActive fields can be set at the same time. | *[IngressOrRouteSpec](#ingressorroutespec) | | false |
[Back to Table of Contents](#table-of-contents)

### RedisEnterpriseClusterStatus
Expand Down