Skip to content

Commit

Permalink
promoting version 6.2.8-15
Browse files Browse the repository at this point in the history
  • Loading branch information
Ubuntu committed Jan 19, 2022
1 parent e7ee0a8 commit fa8e334
Show file tree
Hide file tree
Showing 15 changed files with 167 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
.idea
*bundle.yaml
24 changes: 13 additions & 11 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-53` | `redislabs/redis:6.2.8-53.rhel7-openshift` |
| Operator | `redislabs/operator:6.2.8-11` | `redislabs/operator:6.2.8-11` |
| Services Rigger | `redislabs/k8s-controller:6.2.8-11` | `redislabs/k8s-controller:6.2.8-11` |
| 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` |
> * RedHat certified images are available on [Redhat Catalog](https://access.redhat.com/containers/#/product/71f6d1bb3408bd0d) </br>

Expand Down Expand Up @@ -381,7 +381,7 @@ The operator deploys a `RedisEnterpriseCluster` with default configurations valu
redisEnterpriseImageSpec:
imagePullPolicy: IfNotPresent
repository: redislabs/redis
versionTag: 6.2.8-53
versionTag: 6.2.8-64
```
* Persistence
Expand Down Expand Up @@ -483,21 +483,21 @@ For example:
redisEnterpriseImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/redis
versionTag: 6.2.8-53
versionTag: 6.2.8-64
```
```yaml
redisEnterpriseServicesRiggerImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/k8s-controller
versionTag: 6.2.8-11
versionTag: 6.2.8-15
```
```yaml
bootstrapperImageSpec:
imagePullPolicy: IfNotPresent
repository: harbor.corp.local/redisenterprise/operator
versionTag: 6.2.8-11
versionTag: 6.2.8-15
```
In Operator Deployment spec (operator.yaml):
Expand All @@ -509,7 +509,7 @@ spec:
spec:
containers:
- name: redis-enterprise-operator
image: harbor.corp.local/redisenterprise/operator:6.2.8-11
image: harbor.corp.local/redisenterprise/operator:6.2.8-15
```
Image specification follow the [K8s Container schema](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#container-v1-core).
Expand Down Expand Up @@ -632,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-53
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
```yaml
autoUpgradeRedisEnterprise: true
Expand All @@ -641,7 +641,7 @@ There are two ways to upgrade - either set 'autoUpgradeRedisEnterprise' within t
Alternatively:
```yaml
RedisEnterpriseImageSpec:
versionTag: redislabs/redis:6.2.8-53
versionTag: redislabs/redis:6.2.8-64
```
## Supported K8S Distributions
Expand All @@ -663,7 +663,9 @@ 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.4 (K8s 1.17) | deprecated |
| Rancher 2.4 (K8s 1.18) | deprecated |
| Rancher 2.5 (K8s 1.17) | supported |
| Rancher 2.5 (K8s 1.18) | supported |
| Rancher 2.5 (K8s 1.19) | supported |
| Rancher 2.5 (K8s 1.20) | supported |
Expand Down
9 changes: 5 additions & 4 deletions bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ spec:
shortNames:
- redb
scope: Namespaced
preserveUnknownFields: false
versions:
- name: v1alpha1
served: true
Expand Down Expand Up @@ -446,7 +447,7 @@ spec:
description: Database port number. TCP port on which the database is
available. Will be generated automatically if omitted. can not be
changed after creation
type: integer
type: integer
databaseSecretName:
description: The name of the K8s secret that holds the password to the
database.
Expand Down Expand Up @@ -684,7 +685,6 @@ spec:
type: string
type: object
type: object

---
apiVersion: v1
kind: Service
Expand Down Expand Up @@ -715,7 +715,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: redislabs/operator:6.2.8-11
image: redislabs/operator:6.2.8-15
command:
- redis-enterprise-operator
imagePullPolicy: Always
Expand Down Expand Up @@ -757,7 +757,7 @@ spec:
port: 8080
scheme: HTTP
- name: admission
image: redislabs/operator:6.2.8-11
image: redislabs/operator:6.2.8-15
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down Expand Up @@ -812,6 +812,7 @@ spec:
shortNames:
- rec
scope: Namespaced
preserveUnknownFields: false
versions:
- name: v1
served: true
Expand Down
1 change: 1 addition & 0 deletions crds/rec_crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ spec:
shortNames:
- rec
scope: Namespaced
preserveUnknownFields: false
versions:
- name: v1
served: true
Expand Down
6 changes: 3 additions & 3 deletions crds/redb_crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ spec:
shortNames:
- redb
scope: Namespaced
preserveUnknownFields: false
versions:
- name: v1alpha1
served: true
Expand Down Expand Up @@ -369,7 +370,7 @@ spec:
description: Database port number. TCP port on which the database is
available. Will be generated automatically if omitted. can not be
changed after creation
type: integer
type: integer
databaseSecretName:
description: The name of the K8s secret that holds the password to the
database.
Expand Down Expand Up @@ -606,5 +607,4 @@ spec:
description: Database compatibility version
type: string
type: object
type: object

type: object
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.8-64` |
| Operator | `redislabs/operator:6.2.8-15` |
| Services Rigger | `redislabs/k8s-controller:6.2.8-15` |


### 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.8-64
redisEnterpriseServicesRiggerImageSpec:
repository: [User service rigger Private repo]
versionTag: 6.2.8-15
bootstrapperImageSpec:
repository: [User operator Private repo]
versionTag: 6.2.8-15
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.8-11
image: redislabs/operator:6.2.8-15
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.8-11
image: redislabs/operator:6.2.8-15
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down
9 changes: 5 additions & 4 deletions openshift.bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ spec:
shortNames:
- redb
scope: Namespaced
preserveUnknownFields: false
versions:
- name: v1alpha1
served: true
Expand Down Expand Up @@ -467,7 +468,7 @@ spec:
description: Database port number. TCP port on which the database is
available. Will be generated automatically if omitted. can not be
changed after creation
type: integer
type: integer
databaseSecretName:
description: The name of the K8s secret that holds the password to the
database.
Expand Down Expand Up @@ -705,7 +706,6 @@ spec:
type: string
type: object
type: object

---
apiVersion: v1
kind: Service
Expand Down Expand Up @@ -736,7 +736,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.8-11
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.8-15
securityContext:
runAsUser: 1001
command:
Expand Down Expand Up @@ -782,7 +782,7 @@ spec:
port: 8080
scheme: HTTP
- name: admission
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.8-11
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.8-15
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down Expand Up @@ -837,6 +837,7 @@ spec:
shortNames:
- rec
scope: Namespaced
preserveUnknownFields: false
versions:
- name: v1
served: true
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.8-11
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.8-15
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.8-11
image: registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.2.8-15
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down
Loading

0 comments on commit fa8e334

Please sign in to comment.