RedisLabs / redis-enterprise-k8s-docs

154 stars 91 forks source link

Operator working #149

Open devdattakulkarni opened 3 years ago

devdattakulkarni commented 3 years ago

Hello,

We have developed set of guidelines to ensure that an Operator is developed with certain best practices. We had a Kubecon talk about this recently (in kubecon2020 NA - "Being a good citizen of the multi-Operator world"). Here are those guidelines:

https://github.com/cloud-ark/kubeplus/blob/master/Guidelines.md

I got introduced to this repo by someone who is trying Kubeplus on this Operator (reference: https://github.com/cloud-ark/kubeplus/issues/627). While l was looking at the Operator, following point caught my attention. In the README it is mentioned that: 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. Since creating a Redis Enterprise Cluster is tied to installation of the Operator (one-to-one correspondence), it means that creating a Redis Enterprise cluster is something that only Kubernetes cluster administrator (or someone with those privileges) can do. Whereas creating Redis Database instances can be done by non K8s admins (say, application developers). Is this correct understanding? If so, how do application developers find out the coordinates of the Redis Enterprise cluster against which they can create Redis databases?

yuvallevy2 commented 3 years ago

Hi @devdattakulkarni The administrator determines it by configuring the namespaces each operator listens on. The administrator needs to be careful not to misconfigure more than one operator to listen on a certain namespace. Good luck!