Skip to content

Releases: RedisLabs/redis-enterprise-k8s-docs

v6.0.6-24

08 Sep 18:02
796ad11
Compare
Choose a tag to compare

Overview

The Redis Enterprise K8s 6.0.6-24 release is a maintenance release on top of 6.0.6-23 providing support for the latest Redis Enterprise Software release 6.0.6-39 and includes several bug fixes.

This release of the operator provides:

  • The latest release version of the operator
  • Various bug fixes

Images

  • Redis Enterprise - redislabs/redis:6.0.6-39 or redislabs/redis:6.0.6-39.rhel7-openshift
  • Operator - redislabs/operator:6.0.6-24
  • Services Rigger - redislabs/k8s-controller:6.0.6-24 or redislabs/services-manager:6.0.6-24 (on the RedHat registry)

Important fixes

  • A fix for database observability where after 24 hours after creation or update, the controller was unable to observe the database (RED46149)
  • A fix for a log collector crash on Windows when pods were not running (RED45477)

Known limitations

CrashLoopBackOff causes cluster recovery to be incomplete (RED33713)

When a pod status is CrashLoopBackOff and we run the cluster recovery, the process will not complete. The solution is to delete the crashing pods manually and recovery process will continue.

Long cluster names cause routes to be rejected (RED25871)

A cluster name longer than 20 characters will result in a rejected route configuration as the host part of the domain name exceeds 63 characters. The workaround is to limit cluster name to 20 characters or less.

Cluster CR (REC) errors are not reported after invalid updates (RED25542)

A cluster CR specification error is not reported if two or more invalid CR resources are updated in sequence.

An unreachable cluster has status running (RED32805)

When a cluster is in an unreachable state the state is still running instead of being reported as an error.

Readiness probe incorrect on failures (RED39300)

STS Readiness probe doesn't mark a node as not ready when rladmin status on the node fails

Role missing on replica sets (RED39002)

The redis-enterprise-operator role is missing permission on replica sets.

Private registries are not supported on OpenShift 3.11 (RED38579)

Openshift 3.11 doesn't support dockerhub private registry. This is a known OpenShift issue.

Internal DNS and K8s DNS may have conflicts (RED37462)

DNS conflicts are possible between the cluster mdns_server and the K8s DNS. This only impacts DNS resolution from within cluster nodes for K8s DNS names.

5.4.10 negatively impacts 5.4.6 (RED37233)

K8S-based 5.4.10 clusters seem to negatively impact existing 5.4.6

Node CPU usage is reported instead of pod CPU usage (RED36884)

In Kubernetes, the node CPU usage we report on is the usage of the K8S worker node hosting the REC pod.

Clusters must be named "rec" in OLM-based deployments (RED39825)

In OLM-deployed operators, the deployment of the cluster will fail if the name is not "rec". When the operator is deployed via the OLM, the security context constraints (scc) is bound to a specific service account name (i.e., "rec"). The workaround is to name the cluster "rec".

Updating UI service in Rancher (RED45771)

Updating the UI service type may fail in Rancher. When this happens, delete the service manually and the operator will recreate it correctly.

Master pod label in Rancher (RED42896)

Master pod is not always labeled in Rancher.

Deprecation notice

Support for K8s version 1.11 and 1.12 is deprecated (excludes Openshift 3.11, which continues to be supported). Openshift 4.1 and 4.2 are deprecated (already End Of Life by Red Hat).

v6.0.6-23

21 Aug 15:19
0ec741f
Compare
Choose a tag to compare

Overview

The Redis Enterprise K8s 6.0.6-23 release is a major release on top of 6.0.6-11 providing support for the Redis Enterprise Software release 6.0.6-39 and includes several enhancements (including Rancher support) and bug fixes

This release of the operator provides:

  • Support for the Redis Enterprise Software release 6.0.6-39
  • Support for Rancher
  • Backup options in the database custom resource and controller
  • Alert option in the database custom resource and controller
  • UBI images
  • Various other enhancements and bug fixes

Images

  • Redis Enterprise - redislabs/redis:6.0.6-39 or redislabs/redis:6.0.6-39.rhel7-openshift
  • Operator - redislabs/operator:6.0.6-23
  • Services Rigger - redislabs/k8s-controller:6.0.6-23 or redislabs/services-manager:6.0.6-23 (on the RedHat registry)

New features

Red Hat UBI base images (RED29651)

The services rigger and operator images are now based on Red Hat UBI base images. Also, the same images are now used in both OpenShift and non-OpenShift environments.

Rancher support (RED37918)

The operator is now supported on Rancher (v2.4.5).

Database replica-of support (RED40160)

Support for replica-of was added to the DB controller.

Database backup configuration (RED40165)

Support for backup configuration was added to the DB controller spec.

Alert configuration (RED40166)

Support for alert configuration was added to the DB controller spec.

Database TLS configuration (RED41758)

Support for TLS authentication configuration was added to the DB controller.

OpenShift 4.4 support (RED41352)

The operator is now supported on Openshift 4.4.

DB controller resources via the OLM (RED41755)

Support configuration of DB controller resources was added to the OLM (preview channel).

Important fixes

  • Openshift OLM upgrade support was fixed. Also, installing past versions was added through dedicated channels. (RED44130)
  • Fixed log_collector failures when pods were not scheduled. (RED45347)
  • Fixed wrong handling of the operator environment variables Specifically, enabling/disabling the database controller now works correctly. (RED45351)

Known limitations

CrashLoopBackOff causes cluster recovery to be incomplete (RED33713)

When a pod status is CrashLoopBackOff and we run the cluster recovery, the process will not complete. The solution is to delete the crashing pods manually and recovery process will continue.

Long cluster names cause routes to be rejected (RED25871)

A cluster name longer than 20 characters will result in a rejected route configuration as the host part of the domain name exceeds 63 characters. The workaround is to limit cluster name to 20 characters or less.

Cluster CR (REC) errors are not reported after invalid updates (RED25542)

A cluster CR specification error is not reported if two or more invalid CR resources are updated in sequence.

An unreachable cluster has status running (RED32805)

When a cluster is in an unreachable state the state is still running instead of being reported as an error.

Readiness probe incorrect on failures (RED39300)

STS Readiness probe doesn't mark a node as not ready when rladmin status on the node fails

Role missing on replica sets (RED39002)

The redis-enterprise-operator role is missing permission on replica sets.

Private registries are not supported on OpenShift 3.11 (RED38579)

Openshift 3.11 doesn't support dockerhub private registry. This is a known OpenShift issue.

Internal DNS and K8s DNS may have conflicts (RED37462)

DNS conflicts are possible between the cluster mdns_server and the K8s DNS. This only impacts DNS resolution from within cluster nodes for K8s DNS names.

5.4.10 negatively impacts 5.4.6 (RED37233)

K8S-based 5.4.10 clusters seem to negatively affect existing 5.4.6

Node CPU usage is reported instead of pod CPU usage (RED36884)

In Kubernetes, the node CPU usage we report on is the usage of the K8S worker node hosting the REC pod.

Clusters must be named "rec" in OLM-based deployments (RED39825)

In OLM-deployed operators, the deployment of the cluster will fail if the name is not "rec". When the operator is deployed via the OLM, the security context constraints (scc) is bound to a specific service account name (i.e., "rec"). The workaround is to name the cluster "rec".

Updating UI service in Rancher (RED45771)

Updating the UI service type may fail in Rancher. When this happens, delete the service manually and the operator will recreate it correctly.

Master pod label in Rancher (RED42896)

Master pod is not always labeled in Rancher.

Deprecation notice

Support for K8s version 1.11 and 1.12 is deprecated (excludes Openshift 3.11, which continues to be supported).

Compatibility updates

  • Added support for Rancher
  • Added support for Openshift 4.4

v6.0.6-11

21 Jul 23:14
142e72d
Compare
Choose a tag to compare

Overview

The Redis Enterprise K8s 6.0.6-11 release is a maintenance release on top of 6.0.6-6 providing support for the latest Redis Enterprise Software release 6.0.6-39 and includes several bug fixes.

Images

  • Redis Enterprise - redislabs/redis:6.0.6-39 or redislabs/redis:6.0.6-39.rhel7-openshift
  • Operator - redislabs/operator:6.0.6-11 or redislabs/operator:6.0.6-11.rhel7
  • Services Rigger - redislabs/k8s-controller:6.0.6-11 or redislabs/k8s-controller:6.0.6-11.rhel7

Important fixes

  • The upgrade process may have failed in certain situations (i.e., with CRDB databases). We now ensure that rlutil runs at bootstrap to complete the upgrade process. (RED43635)
  • The example and default custom resource for the REC in the OLM now correctly uses 'nodes' (RED43847)
  • Fixes for security vulnerabilities in the server rigger image: upgraded to httpd 2.4.42, Kubernetes Python Client 8.0.1, and removed localhost private key. (RED42495)
  • A fix for an internal logging issue that caused errors to incorrectly show up on the operator log when databases are created even though the creation succeeded. (RED43336)

Known limitations

CrashLoopBackOff causes cluster recover to be incomplete (RED33713)

When a pod status is CrashLoopBackOff and we run the cluster recovery, the process will not complete. The solution is to delete the crashing pods manually and recovery process will continue.

Long cluster names cause routes to be rejected (RED25871)

A cluster name longer than 20 characters will result in a rejected route configuration as the host part of the domain name exceeds 63 characters. The workaround is to limit cluster name to 20 characters or less.

No cleanup of database services on failures (RED25825)

The service broker doesn't clean up database service bindings when there are failures. The workaround is to manually remove service bindings.

Server broker errors with two service naming schemes (RED25547)

The service broker deployment results in an error when two types of service naming schemes are set. You must choose one of the methods if both are set - redis-port is the recommended default.

Cluster CR (REC) errors are not reported after invalid updates (RED25542)

A cluster CR specification error is not reported if two or more invalid CR resources are updated in sequence.

An unreachable cluster has status running (RED32805)

When a cluster is in an unreachable state the state is still running instead of being reported as an error.

Readiness probe incorrect on failures (RED39300)

STS Readiness probe doesn't mark a node as not ready when rladmin status on the node fails

Role missing on replica sets (RED39002)

The redis-enterprise-operator role is missing permission on replica sets.

Private registries are not supported on OpenShift 3.11 (RED38579)

Openshift 3.11 doesn't support dockerhub private registry. This is a known OpenShift issue.

Internal DNS and K8s DNS may have conflicts (RED37462)

DNS conflicts are possible between the cluster mdns_server and the K8s DNS. This only impacts DNS resolution from within cluster nodes for K8s DNS names.

5.4.10 negatively impacts 5.4.6 (RED37233)

K8S-based 5.4.10 clusters seem to negatively affect existing 5.4.6

Node CPU usage is reported instead of pod CPU usage (RED36884)

In Kubernetes, the node CPU usage we report on is the usage of the K8S worker node hosting the REC pod.

Clusters must be named "rec" in OLM-based deployments (RED39825)

In OLM-deployed operators, the deployment of the cluster will fail if the name is not "rec". When the operator is deployed via the OLM, the security context constraints (scc) is bound to a specific service account name (i.e., "rec"). The workaround is to name the cluster "rec"

v6.0.6-6

23 Jun 21:27
b2c3f86
Compare
Choose a tag to compare

Overview

The Redis Enterprise K8s 6.0.6-6 release is a major release providing support for the latest Redis Enterprise Software release 6.0.6 and includes multiple new features and bug fixes.

Follow the instructions in Upgrading a Redis Enterprise Cluster in Operator-based Architecture to upgrade to this Kubernetes operator release.

Note: If you are running Active-Active (CRBD) databases on a previous release, do not upgrade to 6.0.6-6 at this time. There is an issue with the upgrade process that is currently being investigated (RED43635). For more information and support please contact [email protected]

Images

  • Redis Enterprise - redislabs/redis:6.0.6-6 or redislabs/redis:6.0.6-6.rhel7-openshift
  • Operator - redislabs/operator:6.0.6-6 or redislabs/operator:6.0.6-6.rhel7
  • Services Rigger - redislabs/k8s-controller:6.0.6-6 or redislabs/k8s-controller:6.0.6-6.rhel7

New features and improvements

Database controller

A new database controller in the operator provides the ability to create
and manage databases on a Redis Enterprise cluster via a custom resource (RED36516).

Admission controller

A new admission controller in the operator provides validation of
database custom resources (RED36458).

Pod tolerations

Support for specifying Redis Enterprise cluster node pod tolerations of node taints
has been added to the cluster CR (see podTolerations) (RED33069).

Pod annotations

Support for specifying Redis Enterprise cluster node pod annotations has been
added to the cluster CR (see podAnnotations) (RED35613).

Kubernetes versions

Support for Kubernetes 1.17 was added and versions 1.9 and 1.10 (previously deprecated) are no longer supported (RED41049).

Improved OLM Experience

The overall user experience and documentation in the OLM (OperatorHub) has been improved (RED37008).

Resource limits

Resource limits have been added to the recommended operator configuration (RED39572).

LoadBalancer service type added

The LoadBalancer value has been added to the databaseServiceType option in servicesRiggerSpec (RED43215):

servicesRiggerSpec:
   databaseServiceType: LoadBalancer

Important fixes

  • Service creation failure causes cluster setup failure (RED37197)
  • UI service update failure (RED37198)
  • Error shown in OLM deployment: "The field status.state is invalid" (RED40278)
  • OLM: StatefulSet not listed as an object owned by the Redis Enterprise Cluster (RED39296)
  • Setting extraLabels in the cluster CR did not label pods on OpenShift (RED39763)
  • log_collector failed to get the pods logs when a namespace wasn't given (RED39292)
  • Role and RoleBinding created or updated using an existing ServiceAccount in REC spec (RED42912)

Known limitations

CrashLoopBackOff pod status and cluster recovery

When a pod status is CrashLoopBackOff and we run the cluster recovery, the process
will not complete. The solution is to delete the crashing pods manually and
recovery process will continue (RED33713).

Active-Active (CRDB) - limitation on cluster name length

A cluster name longer than 20 characters will result in a rejected route
configuration as the host part of the domain name exceeds 63 characters. Cluster
names must be limited to 20 characters or less (RED25871).

Active-Active (CRDB) service broker cleanup

The service broker doesn't clean up database service bindings in case of failures.
These bindings must be removed manually (RED25825).

Service broker deployment error

The service broker deployment results in an error when two types of service naming
schemes are set. Choosing one of the methods will resolve this error (redis-port
is the recommended default) (RED25547).

Cluster spec invalid errors not reported

A cluster CR specification error is not reported if two or more invalid CR resources are
updated in sequence (RED25542).

Unreachable cluster does not produce an error

When a cluster is in an unreachable state the state is still running instead of
being reported as an error (RED32805).

Readiness probe ignores rladmin failure

STS Readiness probe doesn't mark a node as not ready when rladmin status nodes fails (RED39300).

Missing permission for role

The redis-enterprise-operator role is missing permission on replicasets (RED39002).

Openshift 3.11 doesn't support DockerHub private registry

Openshift 3.11 doesn't support DockerHub private registry. This is a known OpenShift
issue and not addressable by the Redis Enterprise operator (RED38579).

Possible DNS conflicts within cluster nodes

DNS conflicts are possible between the cluster mdns_server and the K8s DNS.
This only impacts DNS resolution from within cluster node and while using the full fqdn *.cluster.local (RED37462).

Coexistence of 5.4.10 and 5.4.6 clusters

K8s clusters with Redis Enterprise 5.4.6 clusters are negatively affected by installing a Redis Enterprise 5.4.10 cluster due to changes in CRD (CustomeResourceDefinition) (RED37233).

Redis Enteprise CPU utilization metric reports at K8s node level rather than at pod level

In Kubernetes, the node CPU usage we report on is the usage of the K8S worker node hosting the REC pod (RED-36884). Pod resource utilization should be measured by K8s-native means rather than through the application.

Cluster name is limited on OpenShift via OLM

In OLM-deployed operators, the deployment of the cluster will fail if the name
is not "rec". When the operator is deployed via the OLM, the security context constraints (scc)
is bound to a specific service account name (i.e., "rec"). Naming the cluster
"rec" resolves the issue (RED39825).

Coming Soon

The following lists features, fixes and changes the Redis Labs team is currently investing in:

Redis Enteprise and Kubernetes Container Artifacts

Starting from the next release of Redis Enterprise for K8s, new container artifacts will be published using different base images:

  • Redis Enterprise - A UBI (RHEL 7) base image will replace the Ubuntu and the RHEL7 base images
  • Operator - An Image built from scratch containing the Golang executable will replace the Ubuntu and the RHEL7 base images
  • Services Rigger - A UBI (RHEL 7) base image will replace the Ubuntu and the RHEL7 base images

Deprecation notice

The service broker solution is deprecated and will not be supported starting from the next release of the Redis Enterprise Operator for Kubernetes.

Additional Redis Enterprise Database configuration options in the Database Controller

We're currently investing in the following additional capabilities of the Database Controller:

  • Support for loading database modules
  • Support for setting up Alerts, expressed as K8s events
  • Support for configuring database backup options

Support for Kubernetes 1.18

Support for Rancher K8s distribution

v5.4.14-7

04 Apr 13:58
1727b9a
Compare
Choose a tag to compare

Overview

The Redis Enterprise K8s 5.4.14-7 release is a maintenance release on top of 5.4.14-2 providing support for the latest build of Redis Enterprise Software release 5.4.14 - 5.4.14-31, and includes bug fixes for OLM packaging.

v5.4.14-2

12 Mar 15:07
aaf269e
Compare
Choose a tag to compare

Overview

The Redis Enterprise K8s 5.4.14-2 release is a maintenance release providing support for the latest Redis Enterprise Software release 5.4.14 and includes bug fixes as well as the following notable changes:

Support for K8s 1.16

This release now correctly handles the API deprecations, and API version changes that K8s release 1.16 introduced.

Support for OpenShift 4.3; Improved OLM Support

The release now supports OpenShift 4.3. A new operator version is now available in OpenShift's Operator Hub and now includes a more comprehensive base template as well as references to documentation and support.

Changes to the upgrade process

When the Operator is upgraded to a new release, it now prevents the Redis Enterprise Cluster nodes from being automatically upgraded, unless autoUpgrade is enabled or the RS image version is explicitly updated in the Redis Enterprise Cluster (REC) spec. The change was introduced to avoid situations where an Operator upgrade initiated a rolling update to the cluster nodes' StatefulSet.

Deprecated support for K8s versions 1.9/1.10

This release deprecates support for K8s version 1.9/1.10 and OpenShift 3.9. If you are currently using these releases please contact RedisLabs support for information about migrating to a new K8s release.

Coming soon

  • The Database Custom Resource(CR), which represents Redis Enterprise databases, is in development and planned to be part of an upcoming release. The Database Controller for the Database CR is part of the Redis Enterprise K8s Operator. It is disabled in this release.
  • The next release is planned to support K8s 1.17 and drop support for K8s versions 1.9/1.10.

v5.4.10-8

13 Jan 20:49
Compare
Choose a tag to compare

Overview

This is a maintenance release providing support for the latest Redis Enterprise Software release 5.4.10 and includes multiple enhancements:

All-in-one deployment bundle and documentation enhancements

This release is the easiest to deploy yet, with a new quick start guide and an all-in-one file bundle for deploying the Redis Enterprise Operator. GitHub documentation was enhanced to cover advanced deployment scenarios with the complete reference to the custom resource specifications, guides, and examples.

Note: please pay special attention to the yaml file naming changes and new yaml files that have been created for this release. These are highlighted in the quick start guide.

Rack Awareness

Support for the Redis Software Rack Awareness feature was introduced to the Kubernetes deployment. It enables deploying nodes to different zones, in a multi-zone Kubernetes cluster. Databases that are rack-aware will have the cluster populate their master shard and slave shards in different nodes, across different zones or failure domains. This enables maintaining data persistence in case of zone failure.

OLM Support

This new release is now integrated with OLM (Operator Lifecycle Management). The Redis Enterprise operator is now RedHat OpenShift certified and can be effortlessly configured and deployed in Kubernetes clusters supporting OLM, including OpenShift 4.x clusters, with just a few clicks. OLM based deployments do not require Kubernetes cluster administrator rights to deploy the operator.

Improve cluster nodes' pod scheduling resiliency

Redis Enterprise Cluster pod scheduling is hardened by implementing Kubernetes best practices and providing configuration recommendations to cluster operators. Scheduling resiliency minimizes the chance of cluster node pods eviction or failure to schedule.
See the top 4 articles in the new Additonal Topics documentation section.

Update app.redislabs.com API version to stable

We've updated the Redis Enterprise Cluster custom resource API from alpha to stable to reflect the current state of maturity of our implementation.

Both versions of the API are supported by Kubernetes versions that support specifying multiple API versions.

For legacy Kubernetes versions, deployment files are available in the documentation repository that utilize the alpha version of the API.

v5.4.6-1186

06 Nov 23:00
Compare
Choose a tag to compare

Overview

This is a maintenance release providing a single enhancement - added support for private repositories and air-gapped environments for Cluster Recovery functionality.

Notable Changes

The Redis Enterprise Cluster spec now supports the declaration of bootstrapperImageSpec. This optional declaration is required for deployments using private repositories.

For example:

spec:
  bootstrapperImageSpec:
    imagePullPolicy:  IfNotPresent
    repository:       harbor.corp.local/redisenterprise/operator
    versionTag:       5.4.6-1186

The readme has been enhanced with more information about how to deploy in private repositories and with pull secrets.

v5.4.6-1183

21 Oct 17:45
Compare
Choose a tag to compare

Overview

This is a major release providing new features and enhancements including:

  • Cluster Recovery - Enables Redis Enterprise cluster recovery and automates most recovery functions
  • Logging enhancements - we now write RS logs to persistent storage
  • Security improvements - better comply with CIS and security best practices for containers and K8s
  • Node Selector - now applies to Services Rigger and Service Broker deployments
  • Updates to the log collector

Notable Changes

Redis Enterprise Cluster bootstrapping functionality is now performed by a bootstrapping container that runs within each cluster node's Kubernetes pod.

Documentation

New documentation is available for:
Cluster Recovery
Logging enhancements

v5.4.6-1182

04 Sep 23:57
Compare
Choose a tag to compare

Maintenance release based on latest Redis Enterprise Software build 5.4.6-18